Find and Replace


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Find and Replace
# 1  
Old 03-03-2008
Find and Replace

After running a command like

grep -ir files2/ *

This will find all the files that contain "files2/" in it.

For example if it finds

files2/dir/today
files2/dir/yesterday
files2/dir/2daysago

Now it may find 100 instances, so is there a quick find and replace command I can use? I basically want to remove "files2" from all instances. tia.
# 2  
Old 03-03-2008
What do you want. remove file2 from filenames or from the output of the grep command ? If you want to remove file2 from the output of grep command then use 'sed'

PS - i have limited access to internet so may not be able to answer very promptly.
kamitsin
# 3  
Old 03-04-2008
If you want to remove "files2/" from the file itself, vi the file and type below and enter

:%s/^files2\///g


If you want to repalce from grep output

# grep files2 filename | sed 's/files2\///'


This all will give u output
dir/today
dir/yesterday
dir/2daysago
# 4  
Old 03-05-2008
Ok, maybe I should describe what I want to do more clearly.

On a windows server where we ftp files to, we have unix scripts that move files to certain directories on the windows server that begin with "data2/". That has changed, they are removing "data2/" from the path, not to mention different servers but thats not my question.

I have about 30 production unix scripts to modify in a certain unix directory that contain "data2/" instances. I cant rename the scripts, I basically have to remove the "data2"/ from each one. Is there a command I can run from the prompt, or do I have to do each one with VI. Either way you guys advise to be easier, how do you do it? Smilie
# 5  
Old 03-06-2008
Quote:
Originally Posted by NycUnxer
After running a command like

grep -ir files2/ *

This will find all the files that contain "files2/" in it.

For example if it finds

files2/dir/today
files2/dir/yesterday
files2/dir/2daysago

Now it may find 100 instances, so is there a quick find and replace command I can use? I basically want to remove "files2" from all instances. tia.
Code:
grep -ir files2/ * > list.txt
while read file
do
  sed -i -e "s/files2\///g" $file
done < list.txt

You need to have GNU sed for the -i flag. If you dont have that, replace sed with perl.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find and replace?

Hi All, I have data like below 1 CREATE TABLE temp123 2 ( 3 col1 INTEGER, 4 col2 CHAR(3) CHARACTER SET LATIN NOT CASESPECIFIC, 5 col3 DECIMAL(19,0), 6 col4 VARCHAR(80) CHARACTER SET LATIN NOT CASESPECIFIC, 7 start_dt DAte FORMAT 'YY/MM/DD', 8 end_dt DATE FORMAT 'YY/MM/DD', 9 datecol1... (6 Replies)
Discussion started by: baranisachin
6 Replies

2. Shell Programming and Scripting

Find and Replace

i am having a file test1.txt and its contents is as follows. <abcaaa bbb ccc ddd> <dddeeeffff> <my computer> <abcmydocuments> Now I need to find the text abc and should be replaced as follows. <abc> <dddeeeffff> <my computer> <abc> First line has the text "abc" and it has to be... (3 Replies)
Discussion started by: kmanivan82
3 Replies

3. Shell Programming and Scripting

Find/Replace

I have the following requirement in the shell script 1. I have more than 200 shell script files. I need to find out how many shell scripts have "sqlplus /" in the shell file 2. I need to replace all the shell scripts in the single command for example: connect scott/scott replace as ... (6 Replies)
Discussion started by: pmsuper
6 Replies

4. Solaris

find/replace?

Dear All To find a file, according to you, I tried as: #find / -name file-name -print To find a string inside the files , I tried as : #find / -name "*" |xargs grep "string" Can you please let me know how can I try for find/replace (i.e. finding the intended string inside the text files... (6 Replies)
Discussion started by: hadimotamedi
6 Replies

5. Shell Programming and Scripting

Find Replace

Need to convert echo "7 6" to $7,$6 But the count of numbers can increase say echo "7,6,8,9" tried this didn't work echo "7 6" | sed 's/\(*\)/\1/' But did not help much (3 Replies)
Discussion started by: dinjo_jo
3 Replies

6. UNIX for Dummies Questions & Answers

find and replace

I am looking to find and replace a string in a file, can anyone suggest a global find and replace. looked at previous replies on other queries but none seem to address what i am looking for. aint familiar with sed so trying to use ordinary unix commands if possible Thanks in advance (2 Replies)
Discussion started by: SummitElse
2 Replies

7. Shell Programming and Scripting

find and replace

hi, i have a data in a file like below: 100 8388kmn844., 8488 200 8398kmn894., 8398 i want replace from kmn to . as null. output should be 100 8388, 8488 200 8398, 8398 Plz help. Thanks in advance (1 Reply)
Discussion started by: javeed7
1 Replies

8. Shell Programming and Scripting

find and replace

Hi, There are some "n" files in a directory which contains comman string.A command to find and replace the string in all the files without looping. like if i am in a directory : # find ./ -name ".txt" | xargs sed -e 's/test/tst' Upto here is performed correctly and i want to... (4 Replies)
Discussion started by: rakshit
4 Replies

9. UNIX for Advanced & Expert Users

Please help with find and replace:

Hi I am trying to find a product code hightlighted in red, and re-insert it at another place on the same file. I shall be grateful if anyone can help me with this. Stuck and have deadline!!:confused: Original Line: (I can get source data in one of these two formats) ISD=977155185403901+DIE... (2 Replies)
Discussion started by: gloovy_tb
2 Replies

10. UNIX for Dummies Questions & Answers

find and replace

I have statement like this column_id.columnname=="value" in unix i want to modify above statement to variable1=="value" that means i have to replace the string before "==" by string "variable1" second catch is, in statement instead of "==" you can have any arithmatic comarision... (7 Replies)
Discussion started by: mahabunta
7 Replies
Login or Register to Ask a Question