sed command


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users sed command
# 15  
Old 02-28-2011
This seems to be very close related to another post of yours so merging both threads.
# 16  
Old 02-28-2011
@ksrivani

Code:
sed 's/data/newdata/g' /home/sritest/path.txt

Note that this command will give you an output where the replacement has been done, BUT the input file /home/sritest/path.txt remain unchanged !
...not sure what you are trying to do with the "else" statement

Code:
$ echo "bla/data/bla bla/data/bla"
bla/data/bla bla/data/bla

Code:
$ echo "bla/data/bla bla/data/bla" | sed 's/data/newdata/'
bla/newdata/bla bla/data/bla

Code:
$ echo "bla/data/bla bla/data/bla" | sed 's/data/newdata/2'
bla/data/bla bla/newdata/bla

Code:
$ echo "bla/data/bla bla/data/bla" | sed 's/data/newdata/g'
bla/newdata/bla bla/newdata/bla


Last edited by ctsgnb; 02-28-2011 at 09:10 AM..
# 17  
Old 02-28-2011
Try my earlier suggestion, but with | as a separator and use a character set as context:
Code:
sed 's|^| |;s|$| |;s|\([^[:alnum:]]\)data\([^[:alnum:]]\)|\1newdata\2|g;s|^ ||;s| $||' infile

This is the general case that should work under most circumstances.

In this particular case you could also use something simpler:
Code:
sed 's|/data/|/newdata/|g' infile


Last edited by Scrutinizer; 02-28-2011 at 09:10 AM..
# 18  
Old 02-28-2011
Code:
s|^| |;s|$| |

could be shorten
Code:
s|.*| & |

# 19  
Old 02-28-2011
MySQL Try this !

Try this ,

Code:
while read line
do
        if [[ $line ==  *\/data\/* ]]
        then
                echo `sed -r "s/\/data\//\/newdata\//g" <<<$line`
        elif [[ $line ==  *\/newdata\/* ]]
        then
                echo `sed -r "s/\/newdata\//\/data\//g" <<<$line`
        fi
done <"file1"

# 20  
Old 02-28-2011
Quote:
Originally Posted by ctsgnb
Code:
s|^| |;s|$| |

could be shorten
Code:
s|.*| & |

Ah yes, true Smilie And the reverse?
# 21  
Old 02-28-2011
Power

thanks for ur reply......
but I'm facing the problem when data folder is changed to newdata folder again it has to change in data folder....plz once see my actual post what i sent it u before.

when it is changed into newdata/....
if again run the script it should change into data / but it is not giving like this output it is giving like newnewdata/ like that....plz give me good response if possible
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need help with sed command

Dear All, I want to replace a value corresponding to particular variable in file using sed. example xValue 10.0; I want to change its value to 19.1434 say. xValue 19.1434; How can I do that? Thanks & Regards, linuxUser_ (9 Replies)
Discussion started by: linuxUser_
9 Replies

2. UNIX for Dummies Questions & Answers

Output of sed command to another sed command

Hi All, I'm relatively new to Unix scripting and am trying to get my head around piping. I'm trying to take a header record from one file and prepend it to another file. I've done this by creating several temp files but i'm wondering if there is a cleaner way to do this. I'm thinking... (10 Replies)
Discussion started by: BigCroyd
10 Replies

3. Shell Programming and Scripting

sed and awk giving error ./sample.sh: line 13: sed: command not found

Hi, I am running a script sample.sh in bash environment .In the script i am using sed and awk commands which when executed individually from terminal they are getting executed normally but when i give these sed and awk commands in the script it is giving the below errors :- ./sample.sh: line... (12 Replies)
Discussion started by: satishmallidi
12 Replies

4. Shell Programming and Scripting

sed Command

Hello, I'm working with this command which I'm having trouble understanding it: sed -e '1,$ s/SUB/N/g' < $1 > file.txt Where SUB stand for an special character with code in ASCII is 0x1A, notepad read it as a right arrow. Any help will be appreciated. (5 Replies)
Discussion started by: emilioveras
5 Replies

5. Shell Programming and Scripting

sed returns error "sed: -e expression #1, char 18: unterminated `s' command"

Hello All, I have something like below LDC100/rel/prod/libinactrl.a LAA2000/rel/prod/libinactrl.a I want to remove till first forward slash that is outputshould be as below rel/prod/libinactrl.a rel/prod/libinactrl.a How can I do that ??? (8 Replies)
Discussion started by: anand.shah
8 Replies

6. UNIX for Dummies Questions & Answers

sed insert command and variable expansion/command substitution

I know this script is crummy, but I was just messing around.. how do I get sed's insert command to allow variable expansion to show the filename? #!/bin/bash filename=`echo $0` /usr/bin/sed '/#include/ { i\ the filename is `$filename` }' $1 exit 0 (8 Replies)
Discussion started by: glev2005
8 Replies

7. Shell Programming and Scripting

Convert Sed command to perl command

Hello, Can any perl experts help me convert my sed string to perl. I am unsuccessful with this. I have to remove this string from html files OAS_AD('Top'); I have come up with this. However the requirement is in perl. for find in $(find . -type f -name "file1.html") ; do cat $find |... (2 Replies)
Discussion started by: abacus
2 Replies

8. UNIX for Dummies Questions & Answers

some help with the sed command please

hi all, attached you can find a small txt file ( .txt ), GIVEN that past_scheduler="islip" and scheduler="mucf" can somebody please tell me WHY sed 's/-u '$past_scheduler'/-u '$scheduler'/g' .txt > .txt.temp fails ? thanx (3 Replies)
Discussion started by: OneDreamCloser
3 Replies

9. Shell Programming and Scripting

Loop with sed command to replace line with sed command in it

Okay, title is kind of confusion, but basically, I have a lot of scripts on a server that I need to replace a ps command, however, the new ps command I'm trying to replace the current one with pipes to sed at one point. So now I am attempting to create another script that replaces that line. ... (1 Reply)
Discussion started by: cbo0485
1 Replies

10. Shell Programming and Scripting

awk/sed Command : Parse parameter file / send the lines to the ksh export command

Sorry for the duplicate thread this one is similar to the one in https://www.unix.com/shell-programming-scripting/88132-awk-sed-script-read-values-parameter-files.html#post302255121 Since there were no responses on the parent thread since it got resolved partially i thought to open the new... (4 Replies)
Discussion started by: rajan_san
4 Replies
Login or Register to Ask a Question