Find and replace problem


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Find and replace problem
# 1  
Old 06-25-2009
Find and replace problem

i have a script that will find a certian pattern and replace it with blank space

Code:
#!/bin/ksh

for i in `cat test.txt | grep "UTILINET" | cut -c 172-191`
do
perl -pi -e 's/$i//g' test.txt
echo "Completed"
done

the command gives some of the below strings
Code:
50032E1B            
50020F8E            
90501D67            
50016FC2            
5000DC3F            
50016E5D            
5002C9C4            
50010DB0            
5002E085

when i m executing the script it is giving error as
./C.sh[3]: no space

Please help me out
# 2  
Old 06-25-2009
Beyond the problem ,the logic behind ur script is not seems to be correct.

If you post you input and the output your expecting , you can expect more results.

Regards
Sastry.P
# 3  
Old 06-25-2009
Is this what you're trying to do?

Code:
awk '/UTILINET/ {print substr($0, 1, 171) substr($0, 192)}' filename

# 4  
Old 06-25-2009
The o/p from the for statement is always one like 50032E1B . So if you decode it in the script it should do the following

for i in 50032E1B
do
perl -pi -e 's/50032E1B//g' test.txt
echo "Completed"
done

Basicall my script is finding the pattren one by one and replacing it with a blankspace
# 5  
Old 06-25-2009
Code:
 
perl -pi -e s/"$i"//g  file_name.txt

worked for me. By the way, no need of "cat" in the for loop, grep "string" file_name is enough.
# 6  
Old 06-25-2009
i have now changed the script to below
Code:
#!/bin/ksh

while read i
do
perl -pi -e 's/'$i'//g' test.txt
echo "Completed"
done < /ednadtu3/u01/pipe/naveed/test/test.txt

But when i do command "cat test.txt | grep "UTILINET" | cut -c 172-191 | head -10" it shows the below strings
Code:
cat test.txt | grep "UTILINET" | cut -c 172-191 | head -10

            |       
            |       
            |       
            |       
            |       
            |       
            |       
            |       
            |       
            |

Why these are coming it should be blankspace na ?
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, I have a variable which holds the below value: echo $FROM_DIR /fsg/fgldevu/fs_ne/inst/FGLDEVU_01/logs/appl/conc/out/o14946708.out I want to change the value in the variable as below: out/o to be replaced with log/l .out to be replaced with .req The desired output should look like... (5 Replies)
Discussion started by: Prasannag87
5 Replies

2. Shell Programming and Scripting

Find and replace

Hi Team, one silly issue. but its not working for me. I need to find a pattern a file and replace it with the given value in another file. Here's the code snippet. Search_String=100 Replace_String=151 cat ${work}/temp_${CSV_File} | sed 's|"${Search_String}"|"${Replace_String}"|g'... (2 Replies)
Discussion started by: kmanivan82
2 Replies

3. Shell Programming and Scripting

Find and replace

In a directory I have many XML files, how to search for the string <text>You are here</text> and replace it with <text>YOU Are HERE</bc-text> in a unix command find . -name "*.xml" (1 Reply)
Discussion started by: sandy1028
1 Replies

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

5. Shell Programming and Scripting

Find Replace Help

New to change change 10 to 45 its a first line in the file. "15/10/2009 00:00:00"|DATA|NEW (10 Replies)
Discussion started by: dinjo_jo
10 Replies

6. Shell Programming and Scripting

find and replace problem

hi guys!!! i am writing a script in which i take an input from user and find it in a file and replace it. My input file looks like hi what your name? allrise my code looks is echo "Enter the name" read name FILE="/opt/name.txt" NEW_FILE="/opt/new_name.txt" exec 0<$FILE ... (3 Replies)
Discussion started by: allrise123
3 Replies

7. UNIX for Dummies Questions & Answers

Find and replace

Hi, I am trying to do this find and replace in unix and somehow its not working. TR|20080325|22952 |000000040|20080327|0530 TR|20080417|23078 |000000104|20080418|0530|1040001 | I have the records coming in the above format. My requirement is if delimiter count is not 8 then... (2 Replies)
Discussion started by: kiran_418
2 Replies

8. UNIX for Dummies Questions & Answers

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... (4 Replies)
Discussion started by: NycUnxer
4 Replies

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

10. UNIX for Dummies Questions & Answers

find and replace

Hi In our html pages, we have the image path as "/dir1/dir2/image.gif". We are changing the location of the image directory. So now we wish to do a global search and replace the path. I think we are having trouble with forward slash character. Please help Thanks in advance Vikas a... (3 Replies)
Discussion started by: vikas_j@hotmail
3 Replies
Login or Register to Ask a Question