How to modify a line in a file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How to modify a line in a file
# 1  
Old 07-12-2007
How to modify a line in a file

Hello

I have an input that looks like this:

d:/bla1/bla2/bla3/bla1.txt
d:/bla1/bla2/bla4/bla2.txt
d:/bla1/bla2/bla5/bla1.txt
d:/bla1/bla2/bla6/bla2.txt
d:/bla1/bla2/bla7/bla1.txt

and i need the output to looks like this:

d:/bla1/bla2/bla3/bla1_bla3.txt
d:/bla1/bla2/bla4/bla2_bla4.txt
d:/bla1/bla2/bla5/bla1_bla5.txt
d:/bla1/bla2/bla6/bla2_bla6.txt
d:/bla1/bla2/bla7/bla1_bla7.txt

How do i find the string located between d:/bla1/bla2/ and /bla1.txt? also how do i add that string before .txt?

Can anyone help me on this?
# 2  
Old 07-12-2007
Code:
while read mLine
do
  set -- `echo $mLine | sed 's;/; ;g'`
  mFName=`echo $5 | sed "s/\./_$4./"`
  echo $1'/'$2'/'$3'/'$4'/'$mFName
done < input_file

# 3  
Old 07-12-2007
assuming all other data are similar in format as provided:
Code:
awk 'BEGIN{FS="/"}
     { gsub(".txt", "_"$4".txt");print }
' "file"

# 4  
Old 07-12-2007
Thank you both Smilie

damn, i still have alooooot to learn Smilie Smilie
# 5  
Old 07-13-2007
Code:
sed 's/\/\(.*\)\/\(.*\)\/\(.*\)\/\(.*\)\(.txt\)/\/\1\/\2\/\3\/\4_\3\5/' filename

# 6  
Old 07-13-2007
Another 'sed' version with fewer characters:
Code:
sed 's;\(.*/\)\(.*\)/\(.*\).txt;\1\2/\3_\2.txt;' input_file

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

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... (16 Replies)
Discussion started by: kttan
16 Replies

2. 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

3. 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

4. Shell Programming and Scripting

Modify line with dynamic variable in awk

Hi, I'm guessing this is probably relatively straight forward to do in awk, but I just can't get my head round it! I have a log file of the following format: 3:03:35 (lmgrd) TIMESTAMP 10/14/2011 3:20:41 (MLM) IN: "MATLAB" user1@host1.private.dns.zone 3:21:05 (MLM) IN: "MATLAB"... (2 Replies)
Discussion started by: chrissycc
2 Replies

5. Shell Programming and Scripting

How to use sed to modify a line above or below matching pattern?

I couldn't figure out how to use sed or any other shell to do the following. Can anyone help? Thanks. If seeing a string (e.g., TODAY) in the line, replace a string in the line above (e.g, replace "Raining" with "Sunny") and replace a string in the line below (e.g., replace "Reading" with... (7 Replies)
Discussion started by: sprinner
7 Replies

6. Shell Programming and Scripting

Help with a shell script to modify one line and copy the next 9 to same file

Hi everyone, the problem is quite simple, yet I can't find an easy solution using awk. I need to search for a string in $3, then if I find this string, copy the line,modify $3, and copy the next 9 lines to the same file. My problem is in the copying of the lines... Finding and modifying... (5 Replies)
Discussion started by: Teroc
5 Replies

7. Shell Programming and Scripting

Modify sections of the line in a file

Hello.. I have a line in a file which I have to edit: the line looks like: <!]> Sometimes, the section of the line can have only one entry for cn, or maybe more than 2 like below: <!]> I have a variable which has the following value: CN="(cn=MNO)(cn=XYZ)" I need to replace the part... (4 Replies)
Discussion started by: chiru_h
4 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

How to modify the last line in the file.

Hi, I have data file which has header, data and trailer. The problem is that always the trailer is padded with the last line data. i want to split the trailer and bring it to next line i.e end of line. But i dont have any specific string to identify the trailer. Only way is that all data... (3 Replies)
Discussion started by: senthil_is
3 Replies
Login or Register to Ask a Question