search and replace characters in one string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting search and replace characters in one string
# 1  
Old 06-24-2009
search and replace characters in one string

I have lines like:

Dog Cat House Mouse
Dog Cat House Mouse
Dog Cat House Mouse
Dog Cat House Mouse

I'd like to replace characters only in $3.

H -> Z
s -> W
e -> x

Resulting in something like (where $1, $2, and $4 are not changed):

Dog Cat ZouWx Mouse
Dog Cat ZouWx Mouse
Dog Cat ZouWx Mouse
Dog Cat ZouWx Mouse

I'd guess SED might be best but I'm really new. Sorry to to include any sample code.
# 2  
Old 06-24-2009
Code:
awk '{ gsub("H", "Z", $3); 
       gsub("s", "W", $3); 
       gsub("e", "x", $3); 
       print$0}' filename

# 3  
Old 06-25-2009
shell:

Code:
while read line;do
set $line
str=${1}" "${2}
tmp=`echo ${3}|sed 's/H/Z/g;s/s/W/g;s/e/x/g;'`
str=${str}" "${tmp}" "${4}
echo ${str}
done < yourfile

perl:

Code:
while(<DATA>){
	my @tmp=split;
	$tmp[2]=~tr/Hse/ZWx/;
	print join " ",@tmp;
	print "\n";
}
__DATA__
Dog Cat House Mouse
Dog Cat House Mouse
Dog Cat House Mouse
Dog Cat House Mouse


Last edited by summer_cherry; 06-25-2009 at 03:39 AM..
# 4  
Old 06-25-2009
Code:
awk 'BEGIN{ w["H"]="Z"; w["s"]="W"; w["e"]="x"}
{ for(i in w){ gsub( i,w[i],$3) }} 1' 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

Search partial string in a file and replace the string - UNIX

I have the below string which i need to compare with a file and replace this string in the file which matches closely. Can anyone help me on this. string(Scenario 1)- user::r--,user::ourfrd:r-- String(Scenario 2)- user::r-- File **** # file: /local/Desktop/myfile # owner: me # group:... (6 Replies)
Discussion started by: sarathy_a35
6 Replies

2. UNIX for Dummies Questions & Answers

Search for a string,delete the line and replace with new string in a file

Hi Everyone, I have a requirement in ksh where i have a set of files in a directory. I need to search each and every file if a particular string is present in the file, delete that line and replace that line with another string expression in the same file. I am very new to unix. Kindly help... (10 Replies)
Discussion started by: Pradhikshan
10 Replies

3. Shell Programming and Scripting

Recursivley search files and replace the characters

1st_FILE.cnf Here is my sample test file . This will be replaced by . 2nd_FILE.cnf This is my 2nd test file ..This is agian a test file for purpose. variable.txt TST_FILE=1st_FILE.txt FILE_NAME=1st_FILE.txt 2ND_TST_FILE=2nd_FILE.txt REASON=test I have 2 sample config file under... (13 Replies)
Discussion started by: manas_ranjan
13 Replies

4. Shell Programming and Scripting

Search and Replace Extended Ascii Characters

We are getting extended Ascii characters in the input file and my requirement is to search and replace them with a space. I am using the following command LANG=C sed -e 's// /g' It is doing a good job, but in some cases it is replacing the extended characters with two spaces. So my input... (12 Replies)
Discussion started by: ysvsr1
12 Replies

5. Shell Programming and Scripting

Search a String for characters - or +

How would I accomplish this if I want to test to see if it 1) starts with a dash so something like "-R" AND 2) starts with 1 character then either a "-" or "+" and then up to 3 characters such as "a+rx" (3 Replies)
Discussion started by: mkjp2011
3 Replies

6. Shell Programming and Scripting

Search and replace particular characters in fixed length-file

Masters, I have fixed length input file like FHEAD0000000001XXXX20090901 0000009000Y1000XXX2 THEAD000000000220090901 ITM0000109393813 430143504352N22SP 000000000000RN000000010000EA P0000000000000014390020090901 TTAIL0000000003000000 FTAIL00000000040000000002 Note... (4 Replies)
Discussion started by: bittoo
4 Replies

7. Shell Programming and Scripting

awk - replace number of string length from search and replace for a serialized array

Hello, I really would appreciate some help with a bash script for some string manipulation on an SQL dump: I'd like to be able to rename "sites/WHATEVER/files" to "sites/SOMETHINGELSE/files" within the sql dump. This is quite easy with sed: sed -e... (1 Reply)
Discussion started by: otrotipo
1 Replies

8. Shell Programming and Scripting

Search, replace string in file1 with string from (lookup table) file2?

Hello: I have another question. Please consider the following two sample, tab-delimited files: File_1: Abf1 YKL112w Abf1 YAL054c Abf1 YGL234w Ace2 YKL150w Ace2 YNL328c Cup9 YDR441c Cup9 YDR442w Cup9 YEL040w ... File 2: ... ABF1 YKL112W ACE2 YLR131C (9 Replies)
Discussion started by: gstuart
9 Replies

9. UNIX for Dummies Questions & Answers

Search for a string and replace the searched string in the same position in samefile

Hi All, My requisite is to search for the string "0108"(which is the year and has come in the wrong year format) in a particular column say 4th column in a tab delimited file and then replace it with 2008(the correct year format) in the same position where 0108 was found in the same file..The... (27 Replies)
Discussion started by: ganesh_248
27 Replies

10. Shell Programming and Scripting

Perl: Search for string on line then search and replace text

Hi All, I have a file that I need to be able to find a pattern match on a line, search that line for a text pattern, and replace that text. An example of 4 lines in my file is: 1. MatchText_randomNumberOfText moreData ReplaceMe moreData 2. MatchText_randomNumberOfText moreData moreData... (4 Replies)
Discussion started by: Crypto
4 Replies
Login or Register to Ask a Question