awk -sed help : forth . to convert to "space"


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk -sed help : forth . to convert to "space"
# 8  
Old 10-08-2013
Quote:
Originally Posted by RavinderSingh13
Hello Akshay,

When code will get the value for 7th column, then I have query if we are setting the OFS to default which is space then how it is putting space at the last
Code:
.(dot)

not between every
Code:
.(dot)



I mean it should be like as

Code:
10 40 104 6 4276 

could please explain?




Thanks,
R. Singh

Hope this will be helpful

Code:
$ awk -F"." '{print NF}' test
8
8
8
8

This is when FS is dot(.)
Code:
$ awk -F"." '{for(i=1;i<=NF;i++)printf $i"-->col"i OFS;printf RS}' test
tcp        0      0  10-->col1 80-->col2 110-->col3 100 2900     1 10-->col4 40-->col5 104-->col6 6-->col7 42769     ESTABLISHED-->col8 
tcp        0      0  10-->col1 80-->col2 110-->col3 100 2900     1 10-->col4 40-->col5 103-->col6 7-->col7 38620     ESTABLISHED-->col8 
tcp        0      0  10-->col1 80-->col2 110-->col3 100 2900     1 10-->col4 40-->col5 101-->col6 8-->col7 11764     ESTABLISHED-->col8 
tcp        0      0  10-->col1 80-->col2 110-->col3 100 2900     1 10-->col4 40-->col5 102-->col6 9-->col7 49338     ESTABLISHED-->col8

this is when FS is default
Code:
$ awk '{for(i=1;i<=NF;i++)printf $i"-->col"i OFS;printf RS}' test
tcp-->col1 0-->col2 0-->col3 10.80.110.100-->col4 2900-->col5 1-->col6 10.40.104.6.42769-->col7 ESTABLISHED-->col8 
tcp-->col1 0-->col2 0-->col3 10.80.110.100-->col4 2900-->col5 1-->col6 10.40.103.7.38620-->col7 ESTABLISHED-->col8 
tcp-->col1 0-->col2 0-->col3 10.80.110.100-->col4 2900-->col5 1-->col6 10.40.101.8.11764-->col7 ESTABLISHED-->col8 
tcp-->col1 0-->col2 0-->col3 10.80.110.100-->col4 2900-->col5 1-->col6 10.40.102.9.49338-->col7 ESTABLISHED-->col8

---------- Post updated at 01:12 PM ---------- Previous update was at 01:08 PM ----------

---------- Post updated at 01:13 PM ---------- Previous update was at 01:12 PM ----------
# 9  
Old 10-08-2013
Thanks a lot Akshay for explaining me, it really helped.
# 10  
Old 10-08-2013
Welcome
# 11  
Old 10-08-2013
Like this simple approach : I was missing.

Code:
sed 's/\./ /7' file

Scrutinizer, thanks a lot ,
# 12  
Old 03-24-2014
Hello,

One more solution for same.


Code:
awk '{for(i=0;i<=NF;i++)
{
if(i==7)
{match($i,/..\...\....\..\....../); {$i=substr($i,RSTART,RLENGTH-6) " " substr($i,RSTART+12,RLENGTH)};}
}} 
1' file_name


Output will be as follows.

Code:
tcp 0 0 10.80.110.100 2900 1 10.40.104.6 42769 ESTABLISHED
tcp 0 0 10.80.110.100 2900 1 10.40.103.7 38620 ESTABLISHED
tcp 0 0 10.80.110.100 2900 1 10.40.101.8 11764 ESTABLISHED
tcp 0 0 10.80.110.100 2900 1 10.40.102.9 49338 ESTABLISHED


Thanks,
R. Singh
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using sed to delete everything after "space"

Hi, I have a lot of string texts which normally should only contain a single float so that I can put this float into a variable. This stings are generated by a grep command out of a large html file. sometimes a value that I want to grep is found more than once, so that the resulting sting... (1 Reply)
Discussion started by: Stefan Willms
1 Replies

2. Shell Programming and Scripting

Awk,sed : change every 2nd field ":" to "|"

Hi Experts, I have a string with colon delimited, want 2nd colon to be changed to a pipe. data: 101:8:43:4:72:14:41:69:85:3:137:4:3:0:4:0:9:3:0:3:12:3: I am trying with sed, but can change only 1 occurance: echo "101:8:43:4:72:14:41:69:85:3:137:4:3:0:4:0:9:3:0:3:12:3:" | sed 's/:/|/2'... (5 Replies)
Discussion started by: rveri
5 Replies

3. Post Here to Contact Site Administrators and Moderators

Suggestion: adding two new groups "sed" and "awk"

Majority of the questions are pertaining file/string parsing w.r.t sed or awk It would be nice to have these two as their own sub category under shell-programming-scripting which can avoid lot of duplicate posts. (1 Reply)
Discussion started by: jville
1 Replies

4. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

5. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

6. Shell Programming and Scripting

Simplify Bash Script Using "sed" Or "awk"

Input file: 2 aux003.net3.com error12 6 awn0117.net1.com error13 84 aux008 error14 29 aux001.ha.ux.isd.com error12 209 aux002.vm.ux.isd.com error34 21 alx0027.vm.net2.com error12 227 dux001.net5.com error123 22 us008.dot.net2.com error121 13 us009.net2.com error129Expected Output: 2... (4 Replies)
Discussion started by: sQew
4 Replies

7. Shell Programming and Scripting

Help to change the file with "sed" and "awk"

Hi experts I want your help to change the file format to my wanted version, please give me a hand thanks $cat file install pass make os pass make build kernel failed usb storage pass chane to | *install* | *make os* | *make build kernel* | *usb storage* | | pass | pass... (7 Replies)
Discussion started by: yanglei_fage
7 Replies

8. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

9. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

10. UNIX for Dummies Questions & Answers

Convert "text" to "packed-decimal"?

Is there a way with HP-UX Release 10.20 (but going to HP-UX 11) to convert a regular "text" file to a packed data format (such as is created by a Cobol program)? (2 Replies)
Discussion started by: HuskyJim
2 Replies
Login or Register to Ask a Question