using sed to replace a part of string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting using sed to replace a part of string
# 1  
Old 01-11-2004
using sed to replace a part of string

Hi,

I have files that are named front1.txt to front999.txt. They are all in the same directory. To change "front" to "back", I am doing something like this.

for file in *.txt; do
new=`echo $file | sed 's/^[a-z]*[A-Z]*/back/g'`
mv $file $new
done

My problem is what if files are named 1front1.txt to 999front999.txt? How would I just change the "front" part of the string?

Thanks in advance!

-j.
# 2  
Old 01-11-2004
Re: using sed to replace a part of string

new=`echo $file | sed 's/front/back/'`
# 3  
Old 01-11-2004
What if you want to replace a word (no numbers) that's surrounded by number(s)?

For example, atfront111front111front.txt. I'd like to replace only the second "front".
# 4  
Old 01-11-2004
Add a /g at the end to make it global otherwise it matches just the first instance. For example:

echo atfront111front111front.txt | sed -e"s/front/back/g"

Cheers,

Keith
# 5  
Old 01-11-2004
kduffin, I think that csejl is just playing yo-yo with us. But if you want to play, you're supposed to nail only the the 2nd occurrence of "front" while leaving occurrences 1 and 3 intact. Smilie

Of course, csejl will then come back and say "what I really meant..." Smilie
# 6  
Old 01-12-2004
To replace the second "front"...

echo atfront111front111front.txt | sed 's/front/back/2'

To to replace a word which is surrounded by number(s)...

echo atfront111front111front.txt | sed 's/\([0-9][0-9]*\)[A-Za-z][A-Za-z]*\([0-9][0-9]*\)/\1back\2/'

...which can be written more consisely (if your version of sed supports it)...

echo atfront111front111front.txt | sed 's/\([0-9]+\)[A-Za-z]+\([0-9]+\)/\1back\2/'
# 7  
Old 01-12-2004
Thanks. That's exactly what I was looking for!

-j.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to replace part of string?

Hi Gurus, I need to replace part of string in file, the string format is below: I can use ABCD to find string, then replace values after "=" sign ABCD_XXX=value ABCD_YYY=value after replace ABCD_XXX=new_value ABCD_YYY=new_value my OS is SunOS 5.10 Generic_150400-64 sun4v sparc sun4v ... (9 Replies)
Discussion started by: green_k
9 Replies

2. Shell Programming and Scripting

sed - How to replace right part of equal sign (=) on a line

Hello. Using a bash script , I have a variable name for the file I want to modify FILE_TO_EDIT="/etc/my_config_file"And I have a variable name for the parameter to change PARAMETER="fallback_node" PARAMETER_NEW_VALUE="http://my_server_name.com/new_path" A config file may contain : 1°)... (2 Replies)
Discussion started by: jcdole
2 Replies

3. Shell Programming and Scripting

sed or awk command to replace a string pattern with another string based on position of this string

here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb cat dump.sql INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Discussion started by: vivek d r
10 Replies

4. Shell Programming and Scripting

SED - replace only on part of the string

Hello there, I need some help. I have a file containing this : $ cat file PARM1=(VAL11),PARM2=(VAL21,VAL22,VAL23),PARM3=(VAL31),PARM4=(VAL41,VAL42) and I need to replace all the ',' by '|' but only those which are between brackets. Output would be :... (10 Replies)
Discussion started by: Sephiburp
10 Replies

5. Shell Programming and Scripting

Replace a part of the string

Hi I need to Replace a part of string in between one complete string. For e.g.. in the file the value is as: jobnm_$code_xyz_001 In script we are having a variable code=$3, where $3=ab final output should be jobnm_ab_xyz_001. But it is not working. Your help will be... (1 Reply)
Discussion started by: vee_789
1 Replies

6. Shell Programming and Scripting

How to find the count and replace the particular part of string in perl?

Hi, I am taking the current time using localtime function in perl. For example if the time is: #Using localtime $time = "12:3:10"; I have to replace the value 3 (03) i.e second position to be 03. The output should be: 12:03:10 But if the other string for example: $str:... (1 Reply)
Discussion started by: vanitham
1 Replies

7. UNIX for Dummies Questions & Answers

Seach for part of string and replace whole word

I am trying to find words in a text with a certain ending with sed and replace them with themselves but wrapped in tabs ex.: The fish swims in the water. -> searching for -ms ending The fish <tab>swims<tab>in the water. I've been trying all sorts of commands and get either an error... (5 Replies)
Discussion started by: stinnes
5 Replies

8. Shell Programming and Scripting

Replace part of a line with sed/awk

Hello I have a document and in this document I have several occurrence of "VAR == xxxxxxx" and xxxxx can be anything. I don't know what it is. I want to replace the 'xxxxx's with something I know. What I know however, is the line numbers of the VAR =='s in the file. How can I replace... (1 Reply)
Discussion started by: alirezan
1 Replies

9. UNIX for Dummies Questions & Answers

replace part of single string in a file

hi! i have a file consisting of the following lines: (BTW, = space) . . . 12ME_T1mapping_flip30bshortf 13DCE_whole_brainbshortf 13DCE_3Dbshortf . . . the list of scans starts at 1 and goes on sometimes up to 60 scans. i would like to change only the lines that contain 'whole' to... (2 Replies)
Discussion started by: nixjennings
2 Replies

10. UNIX for Dummies Questions & Answers

regarding replace a part of a string

hi all. i have a file name like abcd_vbnh.a_p i have to copy it as abcd_vbnh.a every time... in unix not in perl please (7 Replies)
Discussion started by: madhu_aqua14
7 Replies
Login or Register to Ask a Question