sed or awk question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed or awk question
# 1  
Old 09-12-2008
sed or awk question

Hello expert, I have an output file with few thousand lines similar like below : "Future Netmgmt" "10.99.16.0" "N" "10" "10.0.0.0" "Circuitless-IP" " " "255.255.254.0" "Future Netmgmt" "10.99.18.0" "N" "10" "10.0.0.0" "Circuitless-IP" " " "255.255.254.0" "WAAS loopbacks" "10.99.20.0" "N" "10" "10.0.0.0" "Circuitless-IP" " " "255.255.254.0" "Cisco WAAS" "10.101.249.0" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.128" "Cisco WAAS" "10.101.249.128" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.128" "" "10.101.250.0" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.252" "" "10.101.250.4" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.252" I try to get the second column of each line (i.e. 10.99.16.0). I try: awk '{print $2}' But it doesn't work correctly. Can you give me some tips how to do this. Thanks
# 2  
Old 09-12-2008
Just to clarify - your text looks like this?
Code:
"Future Netmgmt" "10.99.16.0" "N" "10" "10.0.0.0" "Circuitless-IP" " " "255.255.254.0"
"Future Netmgmt" "10.99.18.0" "N" "10" "10.0.0.0" "Circuitless-IP" " " "255.255.254.0"
"WAAS loopbacks" "10.99.20.0" "N" "10" "10.0.0.0" "Circuitless-IP" " " "255.255.254.0"
"Cisco WAAS" "10.101.249.0" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.128"
"Cisco WAAS" "10.101.249.128" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.128"
"" "10.101.250.0" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.252"
"" "10.101.250.4" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.252"

or this?
Quote:
"Future Netmgmt" "10.99.16.0" "N" "10" "10.0.0.0" "Circuitless-IP" " " "255.255.254.0" "Future Netmgmt" "10.99.18.0" "N" "10" "10.0.0.0" "Circuitless-IP" " " "255.255.254.0" "WAAS loopbacks" "10.99.20.0" "N" "10" "10.0.0.0" "Circuitless-IP" " " "255.255.254.0" "Cisco WAAS" "10.101.249.0" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.128" "Cisco WAAS" "10.101.249.128" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.128" "" "10.101.250.0" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.252" "" "10.101.250.4" "Y" "10" "10.0.0.0" "NET-10-101" " " "255.255.255.252"
# 3  
Old 09-12-2008
Code:
sed s/\"\ \"/\;/g filename| awk -F\; '{print $2}'

In this case, I'm looking for " " (assuming that this is your field deliminator), changing it to ;
Then, using awk to find the second field (deliminator of Smilie and display it.

I'd recommend looking at finding another way to store your variables - generally speaking ; is a good deliminator. This would reduce the code required to:
HTML Code:
awk -F\; '{print $2}'
I understand that nawk will allow for more than one character deliminators (like :: or ;; ), but I haven't tried this

Last edited by avronius; 09-12-2008 at 01:52 PM.. Reason: Changed for clarity - and added an explaination for my tactics
# 4  
Old 09-12-2008
Code:
awk -F\" '{print $4}' file

# 5  
Old 09-12-2008
Quote:
awk -F\" '{print $4}' file
I considered this, but I thought that the idea of every odd numbered field being empty might not go over that well...
# 6  
Old 09-12-2008
Of course, my solution ends up with " preceding the first field (not stripped out) and " following the last field (not stripped out).
sed can resolve these, by substituing ^ and $ instances of "
# 7  
Old 09-12-2008
Thank you everyone. The one "awk -F\" '{print $4}'" works best on my case.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

yet another sed/awk question

Unix Guru's , I have a file all_files.txt containing data as follows all_files.txt first file : /a/b/c/file.sh first second CLIENT1 second file : /a/b/c/file.sh first second CLIENT1 first file : /a/b/c/file.sh first second CLIENT2 second file : /a/b/c/file.sh first second... (6 Replies)
Discussion started by: jville
6 Replies

2. Shell Programming and Scripting

awk question (or sed, if that's better to use)

Hi all, I'm pretty new to Unix (Sun) scripting, and wanted to try doing what many would probably believe is pretty easy. I tried searching the forums and only found bits and pieces of things I wanted to do below, but after many tries had a very hard time piecing it together. Would anyone... (1 Reply)
Discussion started by: chatguy
1 Replies

3. Shell Programming and Scripting

sed awk question

I have a string that I need to remove data that is not within <>. For example: this is a <test> of removing <text> outside brackets output should be: <test> <text> or: test text I can use either of the two outputs but so far I have not had much luck removing all of the other text. The... (15 Replies)
Discussion started by: chewbacca72
15 Replies

4. UNIX for Dummies Questions & Answers

sed or awk question

hi there! i have a question that i hope someone may be able to help me with. i am using the 'paste' function to concatenate to files together. $ paste A B output: A B C D However I want to get rid of the space in between - I have tried the following with no luck: #... (2 Replies)
Discussion started by: thegant
2 Replies

5. UNIX for Dummies Questions & Answers

sed and awk question

Hi, I have to write a script that goes through every *.cpp file in the current directory and if any file has #includes of non-system header files (those with double quotes around them), then I need to print out those header files within the quotes. I've figured out how to run a for loop and find... (4 Replies)
Discussion started by: MEllis5
4 Replies

6. Shell Programming and Scripting

to sed or awk, that is the question?

I have a text file with about 790 lines, at the end of many of the lines there is the text string 'f4' I want this text to be 'f2' What is the best way to do this? is it sed or awk? or something else? how? Also, there is maybe fifty occasions where f4 appears near the begining of the line that I... (2 Replies)
Discussion started by: ajp7701
2 Replies

7. Shell Programming and Scripting

sed and awk question

hello, I have this in a file server_name=DB1 hostname=db1 I want to change hostname value to `hostname`. Any idea? and server_name value to toUPPER (`hostname`). Any idea? thanks (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

8. UNIX for Advanced & Expert Users

A question on using sed or awk

Hi I have a pattern like this. repeating many lines CHANGE #13 TYP:22 CLS: 21 AFN:12 DBA:0x0040a15f OBJ:41142 SCN:0x0000.00036b3e SEQ:1 OP:11.2 CHANGE #15 TYP:32 CLS: 32 AFN:212 DBA:0x0040a15f OBJ:41143 SCN:0x0000.00046b3e SEQ:1 OP:13.3 . And i am trying to do the following: a) I need to get... (2 Replies)
Discussion started by: hare
2 Replies

9. Shell Programming and Scripting

Awk Sed question

i have to search direcotry with a Min or Max size and but with a standard find.... it gives me the size of the i-node of the directory. A friend told me to use awk/sed command to search directories. he also gave me this command: find -type d -exec du '{}' \; | awk -v sz=10 '{if... (0 Replies)
Discussion started by: AkiraSama
0 Replies

10. Shell Programming and Scripting

Sed or Awk Question

I have some text: 0400-0427 NA Czech Republic R. Prague 5990ca, 6200, 7345 0400-0456 NA, As Romania R. Romania Int'l 6115, 9515, 9690, 11895 0400-0500 NA U. S. A. WYFR 6065, 6855, 9505, 9715 0400-0500 NA,Eu,Af U. S. A. ... (8 Replies)
Discussion started by: petebear
8 Replies
Login or Register to Ask a Question