Modify text file if found multiple pattern match for every line.


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Modify text file if found multiple pattern match for every line.
# 1  
Old 08-13-2018
Modify text file if found multiple pattern match for every line.

Looking for help,


i have input file like below and want to modify to expected output, if can without create additional file, hope can direct modify it.

have 2 thing need do.
1st
is adding a word (testplan generation off) after ! ! IPG: Tue Aug 07 14:31:17 2018
2nd
is adding (permanent) word with few type condition
few pattern , some need with ; some need with , .

Input file
Code:
! IPG: Tue Aug 07 14:31:17 2018

test capacitor "c13"; characterize, comment
test capacitor "c297"; characterize
test capacitor "c24"; nulltest !tested in parallel with c20
test pins "pins"
test capacitor ".discharge"

expected output
Code:
! IPG: Tue Aug 07 14:31:17 2018

testplan generation off

test capacitor "c13"; permanent, characterize, comment
test capacitor "c297"; permanent,  characterize
test capacitor "c24"; permanent,  nulltest !tested in parallel with c20
test pins "pins"; permanent
test capacitor ".discharge"; permanent

# 2  
Old 08-13-2018
Any attempts / ideas / thoughts from your side?
# 3  
Old 08-13-2018
In addition to what RudiC has already asked, what operating system and shell are you using?
# 4  
Old 08-13-2018
for the 1st i'm try is search for ! IPG ,but it add all my file might have multiple same pattern , i'm only need add after 1st found.

for the 2nd 1, im only have some idea is search for 2nd " and add ; permanent if can't find ; after it, if not add after
permanent, after ;.
but this i'm got no idea how to write a code.

OS: window xp 7 and 10.
shell : kornshell
# 5  
Old 08-13-2018
Try
Code:
sed -e '0,/! IPG:/{/! IPG:/a\
\
testplan generation off' -e '; }; /! IPG:/ b; s/;/; permanent,/; t; /^ *$/!s/$/; permanent/' file


Last edited by RudiC; 08-13-2018 at 05:40 AM..
# 6  
Old 08-16-2018
Hi Rubic,

it fail error:
Code:
sed: lebel "; s/;/; permanent,/; t; /^ *$/!s/$/; permanent/" not found in script

if can please help split it to two line, so i can more understand about the code, i want learn some too.
# 7  
Old 08-16-2018
What OS, shell (as already asked by Don Cragun), and sed version do you use?


My sed's man page says:
Quote:
b label
Branch to label; if label is omitted, branch to end of script.
What does your's say?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Match Pattern and print pattern and multiple lines into one line

Hello Experts , require help . See below output: File inputs ------------------------------------------ Server Host = mike id rl images allocated last updated density vimages expiration last read <------- STATUS ------->... (4 Replies)
Discussion started by: tigerhills
4 Replies

2. Shell Programming and Scripting

Multiple pattern match and print the output in a single line

I need to match two patterns in a log file and need to get the next line of the one of the pattern (out of two patterns) that is matched, finally need to print these three values in a single line. Sample Log: 2013/06/11 14:29:04 <0999> (725102) Processing batch 02_1231324 2013/06/11... (4 Replies)
Discussion started by: rpm120
4 Replies

3. Shell Programming and Scripting

Append text on particular line after pattern found

hi, i have /etc/inittab, I want to add another line after that when i find a pattern "l6:6:wait:/etc/rc.d/rc 6". original l6:6:wait:/etc/rc.d/rc 6 after-change l6:6:wait:/etc/rc.d/rc 6 /sbin/if-pp-to-cng (3 Replies)
Discussion started by: learnbash
3 Replies

4. Shell Programming and Scripting

Displaying text till pattern match found in a line

Hi All, From the below line if we want to display all the text till found pattern dot/. I was trying with the below code but couldn't able to print text before the pattern. it display texts which is found after pattern. awk '/assed/{print;getline;print}' file_name | sed 's/^*. *//' input... (4 Replies)
Discussion started by: Optimus81
4 Replies

5. Shell Programming and Scripting

Modify one line in a plain text file

Hi everyone, I want to know, if there is a way to modify one line in a text file with unix script, with out re-writing all the file. For example, i have this file: CONFIGURATION_1=XXXX CONFIGURATION_2=YYYY CONFIGURATION_3=ZZZZ supose i have a command or function "modify" that... (7 Replies)
Discussion started by: Xedrox
7 Replies

6. Shell Programming and Scripting

To add a new line with specific text after the pattern is found using sed

hi guys, im trying to add the following line in my xml file <dbrollbacksegs <oa_var="s_db_rollback_segs">NOROLLBACK</dbrollbacksegs> when ever i find the following line <dbsharedpool oa_var="s_dbsharedpool_size">300000000</dbsharedpool> I have succedded till adding a new line... (1 Reply)
Discussion started by: smarlaku
1 Replies

7. Shell Programming and Scripting

Modify a file by another file: add new line and variable after string is found

hello, I have problem with writing/adjusting a shell script. I searched forum and unfortunately couldn't write scipt based on the information I found. I never wtire such so it's hard for me and I do need to modify one script immediately. case looks like: 1. 'file' that needs to be modified... (3 Replies)
Discussion started by: bipbip
3 Replies

8. Shell Programming and Scripting

Need help to modify perl script: Text file with line and more than 1 space

Dear Friends, I am beginner in Perl and trying to find the problem in a script. Kindly help me to modify the script. My script is not giving the output for the last field and followed text (LA: Language English). Input file & script as follows: Input file: Thu Mar 19 2:34:14 EDT 2009 STC... (3 Replies)
Discussion started by: srsahu75
3 Replies

9. Shell Programming and Scripting

Modify Specific Line of a Text File

Given a text file, how do you add a line of text after a specific line number? I believe I would want to use "sed" but I am unsure of the syntax. Thank you. Mike (5 Replies)
Discussion started by: msb65
5 Replies

10. Shell Programming and Scripting

Concatenating multiple lines to one line if match pattern

Hi all, I've been working on a script which I have hit a road block now. I have written a script using sed to extract the below data and pumped into another file: Severity............: MAJORWARNING Summary: System temperature is out of normal range. Severity............: MAJORWARNING... (13 Replies)
Discussion started by: phixsius
13 Replies
Login or Register to Ask a Question