The input file format is poorly specified by the two line input sample given in the first message in this thread. It isn't clear from this how many comma separated attributes are expected in the second field in the input, whether access= will always be the last attribute, or even if this is the field that should be used to get the list of servers. The attribute rw= contains the same list of servers in the two given lines, but we don't know if both attributes will always appear nor that, if both are present, they will contain the same data. When ambiguous descriptions of the input are provided, there is much less chance of possible solutions being posted that will actually produce the desired output.
The awk script bipinajith provided above is clever code that uses field #5 (using space and equals signs as delimiters) to get the server list and adjusts for the fact that there are 5 fields in the 1st line and 6 fields in the 2nd line by translating ,access to a single space character (which then becomes a trailing space in the output) in the second line. However, if other input lines add more attributes, this might not work.
With the given input, it would be simpler to just always use the last field:
And this will always work if the access= attribute is the last attribute in the comma separated list of attributes on all input lines.
If some input lines have other attributes following the access= attribute, the following more general solution should still work and lets you name the attribute to be used to get the list of servers:
If you save the above Korn shell script in a file, change the /bin/ksh in the first line to an absolute path to the Korn shell (or bash, or a Bourne shell) on your system, change file on the last line of the script to the name of your sample input file, make it executable, and run it as shown below (assuming you save it in a file named get_servers):
it will produce the output:
In the awk below I am splitting $7 on the : (colon) then - (hyphen) as array a. The word chr is printed at the start of every $1 line.
Next, $4 is split on the > (greater then) as array b. I am not sure how to account for the two other possibilities in $4 so the correct output is printed. Every... (3 Replies)
I have a file as below
empty May7
noread May8
How can process this file and print as below. neat and clean.
Filename Date Created
empty May7
noread May8
I tried something with printf before creating the file itself... (3 Replies)
Hi all,
I have a file that looks like this:
Closest words to: manifesto >>>>
Closest words to: passport >>>>
and I want to reformat this with awk with the following desired result:
manifesto
0.99999999999999978, 'manifesto'
0.72008211381623111, 'communiqu\xe9'... (5 Replies)
Hi everyone,
Looking for some help in awk script to modify the format of a file. I seem to be struggling with this:
Input:
*****************************************************
,,,,TOTAL,2014/1-,2014/2-
0,TOTAL,BLANK,"Description",Total 1,Total 2,Total 3
1, MFG Name 1,,"Description",MFG... (4 Replies)
Hello,
I am fairly new to shellscripting and have written a script to check on messages file and report failed logins:
Here is the original file:
Jul 17 03:38:07 sfldmilx086 sshd: error: PAM: Authentication failure for houghn97 from 10.135.77.201
Jul 17 03:38:07 sfldmilx086 sshd: error:... (2 Replies)
Hi,
i have a file input.txt
Continent North America
Country USA Capital Washington D.C.
Country Canada Capital Ottawa
Continent South America
Country Argentina Capital Buenos Aires
Country Brazil Capital Brasília
Coutry Colombia Capital Bogotá
and i want to get an output.txt
... (3 Replies)
My content of source file is as below
scr1 a1
scr2 a2 b2
scr3 a3 b3 c3
I need a awk/sed command (to be used in C shell)to format it to something like below
scr1 $a1 >file1
scr2 $a2 $b2 >file2
scr3 $a3 $b3 $c3 >file3 (12 Replies)
Hi,
I am new to awk/nawk, needs help.
I want to merge the rows having emplid attribute same into a single row in the following file. In actual this kind of file will have around 50k rows.
Here is my input file
id|emplid|firstname|dep|lastname
1|001234|test|1001|1
2|002345|test|1032|2... (7 Replies)
HI guys,
I have created a script to read 1 column in a csv file and then place it in text file.
However, when i checked out the text file, it is not in a column format...
Example:
CSV file contains
name,age
aa,11
bb,22
cc,33
After using awk to get first column
TXT file... (1 Reply)