Sorry if this question has been posted elsewhere, but I'm hoping someone can help me! Bit of an AWK newbie here, but I'm learning (slowly!)
I'm trying to cobble a script together that will save me time (is there any other kind?), to swap two fields (one containing whitespace), with each field on different lines
As an arbitrary example (I'll explain as best as I can!):
Now my problem is this: I want to Switch $1 of the first line ("Andrew") with $2 of the second line ("Mr. Smith" [note whitespace]) to give me:
Im assuming I'll need to use the *s as record separator and operate from there, but I'm coming up short on:
A) How to read two lines at once - presumably I will need a third area in memory to store one of the fields while the other is moved- should I create a temp file for this?
B) Avoiding having 'Mr. Smith' separated into two fields.
I'm trying to avoid creating two arrays if possible, but I can see this being the only way - does anybody have any suggestions about how I could approach this another way?
Sorry for all the questions - hopefully someone can help me out!
Thanks for that, Scrutinizer (and for sorting out the tags in my original post).
Working my way through the O'reilly Sed and Awk book at the moment - Aside from applying the knowledge gained to anything and everything I can, does anyone have any recommendations for resources following on from this?
Sorry for straying off-topic a little!
Last edited by Bravestarr; 04-16-2012 at 08:50 AM..
In the awk below, what I am attempting to do is check each line in the tab-delimeted input, which has ~20 lines in it, for a keyword
SVTYPE=Fusion. If the keyword is found I am splitting $3 using the . (dot) and reading the portion before and after the dot in an array a.
If it does have that... (12 Replies)
Hallo Team,
I would like to replace filed 4 and 7 with filed 39 how can i achieve this ?
-bash-3.2$ cat dip1.csv| cut -f4,7,24,36,39 -d","|sort -u
+27113996891,+27113996891,196.35.130.52,828854047,+27873500077
+27116452690,+27825702918,10.0.109.13:5060,+27116452690,+27116452690... (2 Replies)
Hallo Team,
This is the command that i am running :
grep ",Call Forward Not Reachable" *2013*
this is the output that i am getting (i did a head -10 but the files can be more than 1000)
... (8 Replies)
I need a awk command to select from a log-file only the lines that have on the 2nd field (considering "|" separator) one of the values 10.216.22.XX or 10.216.22.YY or 10.216.22.ZZ and on the 4th field only values that contain strictly digits. I want the command to work parsing the file only once (I... (2 Replies)
Hi Friends ,
I have file1.txt
1|b|46|123|47673|348738
2|c|63|124|7346|4783
3|y|45|125|5555|78789
output should swap the 4th field to the first field.
output
123|1|b|46|47673|348738
124|2|c|63|7346|4783
125|3|y|45|5555|78789 (3 Replies)
I've run into a problem getting exactly what I want out of awk - some folks may recognize this as an output from Amazon's ec2-describe-instances:
Given the following:
INSTANCE i-4960f321
BLOCKDEVICE Line2Var2
TAG instance i-4960f321 Name web1
TAG instance i-4960f321... (2 Replies)
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
The assignment is to convert a text table to csv format. I've got the cleaning up done, but I need to swap two... (0 Replies)
I have a CSV file with a variable number of fields per record. How do I print lines of a certain number of fields only? Several permutations of the following (including the use of escape characters) have failed to retrieve the line I'm after (1,2,3,4)...
$ cat myfile
1,2,3,4
1,2,3
$ # Print... (1 Reply)
Hi
I have afile with 15fields,say f1,f2....f15 delimited on comma. How can i swap the f1,f15 fields using unix shell commands or any script?
Thanks (3 Replies)