Visit Our UNIX and Linux User Community

search and replace

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting search and replace
# 1  
Old 08-14-2009
search and replace


I am having trouble with searching for a name and replacing it. The file is tab deliminated.

Basically I want to replace >ref|NC_001147| and >ref|NC_001148| with chr1 and chr2 respectively.

Here is what my file looks like:

>1_1_120_317 S OXTGHFKDK >ref|NC_001147|
>1_1_125_219 S UIDNEIU*(L >ref|NC_001148|

I want the output will look like this:

>1_1_120_317 S OXTGHFKDK chr1
>1_1_125_219 S UIDNEIU*(L chr2

I am using this line... the problem is that it does not work AND i cannot get it to replace multiple thing at once.

awk -v srch=">ref|NC_001147|" -v repl="chr1" '{ sub(srch,repl,$0); print $0 }' file1 > file2

# 2  
Old 08-14-2009
You can do this simply enough with sed.

$ echo '>ref|NC_001147|' '>ref|NC_001148|' |
        sed 's/>ref|NC_001147|/chr1/g;s/>ref|NC_001148|/chr2/g'
chr1 chr2
$ sed -i 's/>ref|NC_001147|/chr1/g;s/>ref|NC_001148|/chr2/g' filename

# 3  
Old 08-14-2009
$ cat f1
>1_1_120_317    S    OXTGHFKDK    >ref|NC_001147|
>1_1_125_219    S    UIDNEIU*(L    >ref|NC_001148|
$ # using sed
$ sed -e 's/>ref|NC_001147|/chr1/' -e 's/>ref|NC_001148|/chr2/' f1
>1_1_120_317    S    OXTGHFKDK    chr1
>1_1_125_219    S    UIDNEIU*(L    chr2
$ # using perl
$ perl -ne 's/>ref\|NC_001147\|/chr1/; s/>ref\|NC_001148\|/chr2/; print' f1
>1_1_120_317    S    OXTGHFKDK    chr1
>1_1_125_219    S    UIDNEIU*(L    chr2
$ # using awk
$ awk '{sub(/>ref\|NC_001147\|/,"chr1"); sub(/>ref\|NC_001148\|/,"chr2"); print}' f1
>1_1_120_317    S    OXTGHFKDK    chr1
>1_1_125_219    S    UIDNEIU*(L    chr2


Previous Thread | Next Thread
Test Your Knowledge in Computers #567
Difficulty: Medium
The ternary if-then-else operator generally has the following syntax: E ? X : Y where E is a Boolean expression and if true, the statement is assigned the value Y.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Nested search in a file and replace the inner search

Hi Team, I am new to unix, please help me in this. I have a file named properties. The content of the file is : ##Mobile props east.url= west.url= south.url= (2 Replies)
Discussion started by: tolearn
2 Replies

2. Shell Programming and Scripting

Vi search and replace

Hi, I need help with search and replace for the following string using vi .. if ];then to if ];then can this be done in one search and replace or need multiple ? Thanks (3 Replies)
Discussion started by: talashil
3 Replies

3. UNIX for Dummies Questions & Answers

Help with search and replace or search only of / in vi

Hi all, I am editing a config file in vi that has a / on it. At the moment, search and replace looks alright as am able to use a # as a temporary separator, i.e. :,$s#/u01/app#/u02/app#g For doing a search, I have to escape the / do. So if I want to search for /u01/app, I am having to do... (2 Replies)
Discussion started by: newbie_01
2 Replies

4. UNIX for Dummies Questions & Answers

Search and Replace

I am trying to search and replace using two different files with strict search rules. One file contain some data and the other file contain some numbers as shown below. DataFile.txt >L1_T1 text data... text data.. >L1_T1 text data... text data.. >L1_T1 text data... text data.. ........ (4 Replies)
Discussion started by: Fahmida
4 Replies

5. Shell Programming and Scripting

perl search and replace - search in first line and replance in 2nd line

Dear All, i want to search particular string and want to replance next line value. following is the test file. search string is tmp,??? ,10:1 "???" may contain any 3 character it should remain the same and next line replace with ,10:50 tmp,123 --- if match tmp,??? then... (3 Replies)
Discussion started by: arvindng
3 Replies

6. Shell Programming and Scripting

Search and Replace

Hi!!! I have following xml file with 3 sections. aaa1bbb-ccc default aaa1bbbdd default 0 11 23 * * aaa2bbb-ccc default aaa2bbbdd default 0 11 23 * * aaa3bbb-ccc default aaa3bbbdd default 0 15 23 * * (15 Replies)
Discussion started by: tdev457
15 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 and replace

I have a script which has several occurences of statement like command: $UCMDPATH/xyz abc I would like to replace the entire line starting from $UCMDPATH with the ls -ltr command eg: Prior to change:: command: $UCMDPATH/xyz abc After change: command: ls -ltr Is there a way to do... (12 Replies)
Discussion started by: jobbyjoseph
12 Replies

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

10. Shell Programming and Scripting

search and replace

hi all, the problem is like this...... i setup a file (Env.txt) which handles all the values. NAME1=xxxxxx, where xxxxx is the value NAME2=xxxxxx GGGGG=uusufu I have 6 files, where i will append the values from env.txt. These files has no specific format. all i want is to append the... (1 Reply)
Discussion started by: tungaw2004
1 Replies

Featured Tech Videos