I think i got it, but i ask thread-o/p to confirm. The presentation of his problem was perhaps a bit off from optimal:
There is ONE file with some database statements:
Now, some of these statements are already processed, others are not. Which are processed is in a second file (the "spool file":
Thread-o/p wants to be able to restart the (first) command file after it has been stopped and for this (to avoid already done things a second time) comment out all already run commands. This is done by adding a "--" at the beginning of the line. What he was trying to do was to read the spool file line by line and for each line prepend all lines containing the table (?, index?) in question with comment signs.
@Thread-o/p: please tell us if this is correct. If yes, your script was "almost correct", but to prepend a whole line with something you could have done easier:
I hope this helps.
bakunin
PS: on second thoughts, Dons concerns of course still apply! You have to prevent i.e. "COL1" to trigger changes in lines containing "COL19". Maybe adding a space after "$ITEM" like this
would suffice but to decide that you will have to analyse the command file you are trying to change.
Last edited by bakunin; 09-13-2016 at 03:45 AM..
Reason: afterthoughts
Thank you Ravinder Singh, RudiC, Don Cragun, Bakunin for your inputs. Have used the RudiC's suggestion along with Don's excellent considerations. The error I was facing for
was
However, when in command prompt when I assign line=TAB1_COL1 and then sed "/$line/ s/^/--/g" gives me the correct result. However, used the awk solution for now. Bakunin, yes, you summarized accurately my requirement. Will give a try of your suggestion
Thank you Ravinder Singh, RudiC, Don Cragun, Bakunin for your inputs. Have used the RudiC's suggestion along with Don's excellent considerations. The error I was facing for
was
However, when in command prompt when I assign line=TAB1_COL1 and then sed "/$line/ s/^/--/g" gives me the correct result. However, used the awk solution for now. Bakunin, yes, you summarized accurately my requirement. Will give a try of your suggestion
There is no logical difference between the commands:
and:
The diagnostic message:
would be more likely to occur if the slashes around the pattern had been dropped... I.e.:
instead of:
Input: START
OS:: UNIX
Release: xxx
Version: xxx
END
START
OS:: LINUX
Release: xxx
Version: xxx
END
START
OS:: Windows
Release: xxx
Version: xxx
ENDHere i am trying to get all the information between START and END, only if i could match OS Type.
I can get all the data between the... (3 Replies)
I need to grep for the pattern text inside the square brackets which are in red and not in green..my current code greps patterns both of them, which i don't want
Input fileref|XP_002371341.1| oxoacyl-ACP reductase, putative gb|EPT24759.1| 3-ketoacyl-(acyl-carrier-protein) reductase ... (2 Replies)
Ive used this snippet of code on a solaris box thousands of times.
But it isnt working on the new linux box
sed -n '/interface LoopBack0/{N;/ ip address /p;}' *.conf
its driving me nuts !!
Is there something Im missing ? (7 Replies)
How can I write a script that takes a cisco config file and outputs every occurrence of two, or more, pattern matches through the whole config file?
For example, out of a config file, i want to print out every line with interface, description and ip address through the whole file, and disregard... (3 Replies)
Hi,
I would like to use SED to do the following string replacement:
asd1abc to www1cda
asd2abc to www2cda
...
asd9abc to www9cda
I can use 'asd.abc' to find the orignal string, however I don't know how to generate the target string. Any suggestion?
Thanks,
... (2 Replies)
Hi all,
I've been experiencing a difficulty trying to match a number and write it to a new file.
My input file is: input.txt
It contains the lines:
103P 123587.256971 3.21472112 3.1517423
1.05897234566427 58.2146258 12.35478 25.3612489
What would be the sed command to... (17 Replies)
Hi all, hoping this is a simple one, tried looking but just can't see the solution
As an example I've got a list of words that all start Ben.....
Bendicks
Benefiber
Ben
Benylin
I need to only change the line Ben with Ben 10, ignoring the other lines.
I tried the following
... (1 Reply)
Hello everyone ...
I'm going crazy, I hope some of you can help me ...
I have to replace a line in a crontab like this:
5 2 * * 2 root backupdat
with this:
5 5 * * 3 root backupdat
the command I use is the following:
sed -i.bak -e 's/5 2 * * 2 root backupdat/5 5 * * 3 root... (4 Replies)
pattern match and substitution, can you help?
file named test.txt
I want to replace all the words Event with the word Fatal in all lines containing the word ERR - but I also want to keep the output of the other lines not matching ERR
Test.txt:
Event 13 INF egegegege
Event 14 INF... (4 Replies)