How to format columns using AWK


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to format columns using AWK
# 8  
Old 07-25-2009
Code:
xx='Mark J Walton 145-852-252            Acct'
echo $xx  | sed 's/ \([[:digit:]]\)/|\1/; s/\([[:digit:]]\) /\1|/'

# 9  
Old 07-25-2009
What's wrong with the solutions of danmero?

Last edited by Franklin52; 07-25-2009 at 01:45 PM..
# 10  
Old 07-25-2009
I dont see any thing wrong with Danmero's solution. I fact I think it might be more flexible and goingforth that might give the solution than mine.
Right now itisnotthebest.
Try this:
Code:
xx='Mark J Walton 145-852-252            Acct Department'
echo $xx  | awk '{a=$(NF-1);b=$NF;$(NF-1)=$NF="";printf "%s%20s%10s\n",$0,a,b}'

Output:
Code:
Mark J Walton 145-852-252                  AcctDepartment

And this:
Code:
xx='Mark J Walton 145-852-252            Acct Department'
echo $xx  | sed 's/ \([[:digit:]]\)/|\1/; s/\([[:digit:]]\) /\1|/'

output:
Code:
Mark J Walton|145-852-252|Acct Department

# 11  
Old 07-25-2009
Hi, All -

Thanks for all your help. I just wanted to see the creative use of SED in this situation.

Thanks again for all your help. I have learned a lot while solving this issue.
# 12  
Old 07-25-2009
The 2nd solution of danmero meet the needs of what the OP wants (check the first post). This is what I get:

Code:
$ cat file
John Roberts 324-141-984 Acct
Jack Williams 159-555-555 Acct
William Jackson  949-911-888 Acct
Mark J Walton 145-852-252            Acct
Fred P Milton 483-244-390                Acct
Bill P J Miller                 404-050-223  Acct
$
$ awk '{a=$(NF-1);b=$NF;$(NF-1)=$NF="";printf "%s%20s%10s\n",$0,a,b}' file
John Roberts           324-141-984      Acct
Jack Williams           159-555-555      Acct
William Jackson           949-911-888      Acct
Mark J Walton           145-852-252      Acct
Fred P Milton           483-244-390      Acct
Bill P J Miller           404-050-223      Acct

Am I missing something?
# 13  
Old 07-25-2009
No, I dont think u r missing anything.
I posted my code because "ora_umair" asked for it.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Format columns and heads using shell script

My program output text file data in columns format. My problem is the column headers do not align with the data and if filesystem and Mounted On columns pathname are too long the text will not wrap. Is there any function in Unix that I can use in my code that will align the data for each... (11 Replies)
Discussion started by: dellanicholson
11 Replies

2. Shell Programming and Scripting

Sum of columns and format the output

Input file: 011100020100 0.00 1 20000 30000 20000 011110000025 0.00 1 000 240000 10000 011100020100 0.00 1 200000 2324000 403500 032200030025 0.00 1 2077500 3077500 250000 032200030025 0.00 1 2565000 25536400 320000 022220000005 0.00 1 10000 300000 300000 022220000005 0.00 1 200050... (7 Replies)
Discussion started by: vinus
7 Replies

3. Programming

Transforming 3 columns to matrix format

Dear All I have a huge data for 3 columns similar to this D2cls0 D2cls0 1 D2cls0 D2cls1 0.308 D2cls0 D2cls2 0.554 D2cls0 D2cls3 0.287 D2cls0 D2cls4 0.633 D2cls0 D2cls5 0.341 D2cls0 D2cls6 0.665 D2cls0 D2cls7 0.698 D2cls0 D2cls8 0.625 D2cls0 D2cls9 0.429 I... (9 Replies)
Discussion started by: bala06
9 Replies

4. Shell Programming and Scripting

awk printf format in columns

Hi all, i have written this script: awk -F';' ' BEGIN { printf "\n" printf "\n" printf "\n" printf "----------------------------------------------\n" print " For test " printf "----------------------------------------------\n" test_200 = 0 test_300 = 0 test_500 = 0 test_1000 = 0... (11 Replies)
Discussion started by: arrals_vl
11 Replies

5. Shell Programming and Scripting

How can I format a text file into uniform columns?

I have a file : e.g. Charles Dixon Age 23 Hometown Darlington Postcode DL1 2DC Fred Bixton Age 34 Hometown Leeds Postcode LS1 5XS Jim Davis Age 48 Hometown Cardiff CF2 8YY Is it possible to format this file into uniform columns using, say, the spaces as... (11 Replies)
Discussion started by: bigbuk
11 Replies

6. Shell Programming and Scripting

Format row data into columns

I have a file which looks like this: /* ----------------- EDW$MOC139_R_NNA_BR_SUM_FACT2 ----------------- */ insert_job: EDW$MOC139_R_NNA_BR_SUM_FACT2 job_type: c command: /home/btchproc/load_process/batch_files/batch_nna_brn_split_sum_fact2.sh m machine: edwprod02.dsm.pwj.com #owner:... (29 Replies)
Discussion started by: Gangadhar Reddy
29 Replies

7. Shell Programming and Scripting

Format columns

I have this format of columns Quote 2 Points: np x y z 0 767203.9 2120710 917.2959 1 767071.6 2120658 2793.661 Surface Polyline Color: (0.0400229 1 0.845803) 2 Points: np x y ... (7 Replies)
Discussion started by: cml
7 Replies

8. Shell Programming and Scripting

Format columns

I have a very easy one for you this morning :) A file containing this type of formated data: 500190 488.356 500193 546.7 566486 466.75 506654 288 However, it should be formated like this: 500190 488.356 500193 546.700 566486 466.750 506654 288.000 I know that this can be... (3 Replies)
Discussion started by: Medova
3 Replies

9. Programming

Creating a table like format with rows and columns

I have few files which have two columns in each. like e2 1 1 2694 2 4 2485 3 2 2098 5 1 2079 6 5 2022 9 4 1734 11 5 1585 13 2 1461 18 1 1092 21 2 1019 24 1 915 25 3 907 27 1 891 28 3 890 34 1 748 39 1 700 (1 Reply)
Discussion started by: kamuju
1 Replies

10. Shell Programming and Scripting

Format data to columns addind spaces

Hi all, I have a problem to format data from different database queries into one look. The input data are as follows, every line has the same number of values but a different number of characters: adata, bdata, cdata, ddata fffdata, gdata, hdata, idata jdata, kdata, ... (6 Replies)
Discussion started by: old_mike
6 Replies
Login or Register to Ask a Question