Bash append values if keywords are present in the file
Hi Team,
i have a web ui where user will be passing values and the output will be saved to a file say test with the following contents .
These below mentioned values will change according to the user_input
Just gave here one example
Contents of file test is given below
in this example there are six keywors present (Gateway, Hostname, IP_Address,Netmask,Primary_DNS,Seconday_DNS). sometimes user may fill only 4 fileds then there will be only four keywords.
what i am looking for is, if the keyword Gateway is present in the file test, append its corresponding value with the keyword (here Gateway=3.3.3.3) to test1. Hostname is present, it should appned the value hostname=test.test.com to test2. Like that for all the keywords.
Expected output of test1 as per this example
Expected output of test2
Expected output of test3
Expected output of test4
Expected output of test5
Expected output of test6
Kindly help
Moderator's Comments:
For clarity's sake: Please use CODE tags structuredly (not blockwise where inapplicable) as required by forum rules!
Last edited by RudiC; 03-21-2017 at 06:11 AM..
Reason: Changed CODE tags.
If your Input_file is exactly same as shown Input_file and there is only 1 occurrence of string Gateway, then following may help you in same.
If you have any other requirements then kindly let us know all in all conditions with full details(with sample Input_file and expected output in code tags) please.
as i mentioned in the question, there are six keywors present in this examplle (Gateway, Hostname, IP_Address,Netmask,Primary_DNS,Seconday_DNS). sometimes user may fill only 4 fileds then there will be only four keywors present in test. what i am looking for is if the keyword gateway is present anywhere in the file then append Gateway=3.3.3.3 in test1. like that for all keywords. if some keywords are not present it wont append anything
Could you please try following and let me know if this helps. 1st approach:
So above approach will create always line which have Gateway in it to file name test1 and so on always, if you want to append the data(let's say you have multiple line like you shown into your Input_file) then you could change > to >> to append it in above code.
2nd approach:
If any string is NOT present in a Input_file then it will NOT increase the value of variable I, so let's say Gateway line is going to file named test1 and then Netmask should go to test3 BUT if in between IP_Address is not found then Netmask one will go to test2 then.
3rd approach:
Let's say your Input_file have multiple occurrences of strings which you have mentioned above and you want to keep the files from test1 to test6 only so this code will help you to do so and it will keep appending the lines into their respective files.
Firstly you could THANK a person by using THANKS button on each post's LEFT most corner, secondly you should use code tags as per forum rules for sample Input_file or sample outputs. Could you please try following and let me know if this helps(I am taking my 3rd approach in previous post, if you need any other one you could try to edit it).
Thanks,
R. Singh
The bash stores each uniqueid in an array and then passes them to %q to get the unique path. That seems to work what I am having trouble with is renaming each .png with the unique value in %q. I thought it was working but upon closer inspection, a .png file is being sent to scp.... but only 1 and... (21 Replies)
Hi All-I am new to Unix , I need to write a script. Can someone help me with a requirement where I have list of files in a directory, I want to Merge the files if a pattern of string matches in filenames?
AAAL_555A_ORANGE1_F190404.TXT
AAAL_555A_ORANGE2_F190404.TXT
AAAL_555A_ORANGE3_F190404.TXT... (6 Replies)
I'm working on a bash script to finish uploading a file.
I need a way to get $filesize so that "restart $filesize" will work.
Here is my script:
ftp -n -v <<END_SCRIPT
open ftp.$domain
user $user@$domain $password
size $file
restart $filesize
put $file
quit
END_SCRIPTWayne Sallee... (9 Replies)
I have ~100 text files in a directory that I am trying to parse and output to a new file. I am looking for the words chr,start,stop,ref,alt in each of the files. Those fields should appear somewhere in those files. The first two fields of each new set of rows is also printed. Since this is on a... (7 Replies)
Hi frnds,
My requirement is I have a zip file with name say eg: test_ABC_UH_ccde2a_awdeaea_20150422.zip
within that there are subdirectories on each directory we again have .zip files and in that we have files like mama20150422.gz and so on.
Iam in need of a bash script so that it unzips... (0 Replies)
Hi,
I need help to match two files based on two columns.
file_1
ID AA An Ca Ele Pro Su Ot Tra
g13950 No No Yes No Yes Yes Yes Yes
g05760 Yes No No No No Yes Yes Yes
g12640 No No No No No No No No
k17720 No Yes No No No No No Yes
g05640 Yes Yes Yes No No Yes Yes Yes
file_2
... (8 Replies)
Task: Find keywords in each line, and append at the end of line; if not found in the line, do nothing.
the code is wrong. how to make it work. thanks a lot.
cat keywords.txt | while read line; do
awk -F"|" '{if (/$line/) {print $0"$line , ";} else print;}' outfile.txt > tmp
... (9 Replies)
Hi,
I'm trying to write a bash script that takes a file and passes each line from the file into an array with elements separated by column.
For example:
Sample file "file1.txt":
1 name1 a first
2 name2 b second
3 name3 c third
and have arrays such as:
line1 = ( "1" "name1" "a"... (3 Replies)
I have some html with hrefs that contain local links to pdf filenames. These filenames should have standardised names, i.e. there should be a label prior to the ".pdf" filename suffix. There can be many of these links on a single line of text and some may already have the label. For example
... (13 Replies)
Hello,
I have 50 text files in a directory called "AllFiles"
I want to make a program that will go inside of the "AllFiles" Directory and count the number of lines in each individual text file. Then, the program will calculate how many more lines there are over 400 in each text file and... (7 Replies)