Search and replace


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Search and replace
# 1  
Old 02-05-2008
Search and replace

Hi,

I have a file that looks like the following:

M00071.null T
12 13 1 0 0
SMALL
M00074.null T 1
15 14 0 0 0
SMALL
M14870.null T 2 15431
15 17 0 1 0
SMALL

I want to edit it such that it looks like the following:

M00071
12 13 1 0 0
SMALL
M00074
15 14 0 0 0
SMALL
M14870
15 17 0 1 0
SMALL

So basically any line that begins with M and has .null in it (M00074.null T 1) is replaced with M followed by the number (M00074)


I can easily extract data and do it :

awk /.null/ filename | cut -d '.' -f1

Looking for help to search and replace in the same file.
Thanks in advance.
# 2  
Old 02-05-2008
Code:
echo 'M00071.null T' | sed 's#^\(M[0-9][0-9]*\)[.]null.*#\1#'

# 3  
Old 02-05-2008
Hammer & Screwdriver normally done in 2 steps, but I suppose one could be

> cat m0
M00071.null T
12 13 1 0 0
SMALL
M00074.null T 1
15 14 0 0 0
SMALL
M14870.null T 2 15431
15 17 0 1 0
SMALL

> cat m0 | cut -d"." -f1 >m1 ;cp m1 m0
> cat m0
M00071
12 13 1 0 0
SMALL
M00074
15 14 0 0 0
SMALL
M14870
15 17 0 1 0
SMALL


of course, I still need to get rid of the m1 temporary file
Note: I normally do not like to do all in one line for the chance of something wrong with the script might corrupt the original data.
# 4  
Old 02-05-2008
vgersh99 : i dont really understand why i need to do

echo 'M00071.null T'

when i want to change all instances of .null in the file


joeyg your solution wont work for me because my file has more data that i didnt show which has "." in it.


As i mentioned i need to search for lines that contain ".null" and then remove everything after the "." in that line.
# 5  
Old 02-05-2008
mjoshi,
my original post showed a sed's regex to deal with the pattern you specified.
take the 'sed' and apply it to the file.
# 6  
Old 02-05-2008
vgersh99 : oops i get it , the echo command was meant to show me it works on the first case ('M00071.null T' ).

The sed command indeed works for my case. Thanks !
Login or Register to Ask a Question

Previous Thread | Next Thread

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=https://qa.east.corp.com/prop/end west.url=https://qa.west.corp.com/prop/end south.url=https://qa.south.corp.com/prop/end... (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
Login or Register to Ask a Question