sed command to remove a word from string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed command to remove a word from string
# 1  
Old 12-11-2012
sed command to remove a word from string

Hello All,
I am running a command
Code:
find . -name amp.cfg | cut -c 3-

which gives me output something like below
Code:
rel/prod/amp.cfg
rel/fld/amp.cfg
deb/detail/amp.cfg
deb/err/amp.cfg

I want to remove trailing "/amp.cfg" so that i should get output something like below.
Code:
rel/prod
rel/fld
deb/detail
deb/err

.
I tried tr command
Code:
tr -d 'amp.cfg'

but had no luck.


Regards,
Anand Shah
# 2  
Old 12-11-2012
Code:
sed 's/\/amp.cfg$//' file

# 3  
Old 12-11-2012
Dear Pamu,
As I told in my post, i am using piped output from previous commands as input to sed so when i run this command it gives me No such file or directory error.

I also tried
Code:
sed `s/\/\amp.cfg$//`

# 4  
Old 12-11-2012
Quote:
Originally Posted by anand.shah

Code:
sed `s/\/\amp.cfg$//`

"`" won't work here....

try

Code:
find . -name amp.cfg | cut -c 3- | sed 's/\/amp.cfg$//'

This User Gave Thanks to pamu For This Post:
# 5  
Old 12-11-2012
Dear Pamu,
Thank you.Its working fine.
I was using "`" instead of "'".My mistake.
Can u plz tell me the use of "$" as it is working fine without that ?

Last edited by anand.shah; 12-11-2012 at 02:09 AM..
# 6  
Old 12-11-2012
Quote:
find . -name amp.cfg | cut -c 3- | sed 's/\/amp.cfg$//'
"$" denote for the end of the line

Below command is also another way to match your pattern

Quote:
find . -name amp.cfg | sed 's:^./\(.*\)/amp.cfg$:\1:'

Last edited by kalpeer; 12-11-2012 at 07:48 AM..
# 7  
Old 12-11-2012
Quote:
Originally Posted by anand.shah
Can u plz tell me the use of "$" as it is working fine without that ?
$ is used for a line which ends with amp.cfg.
Without using $ it will replace first entry of the line

Please check..

Code:
$ cat file
rel/prod/amp.cfg
rel/fld/amp.cfg
rel/fld/amp.cfg/sdd
rel/fld/amp.cfg/doc/cam/amp.cfg

Code:
$ sed 's/\/amp.cfg$//' file
rel/prod
rel/fld
rel/fld/amp.cfg/sdd
rel/fld/amp.cfg/doc/cam

Code:
$ sed 's/\/amp.cfg//' file
rel/prod
rel/fld
rel/fld/sdd
rel/fld/doc/cam/amp.cfg

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to remove everything after a word containing string?

Hello, I wish to remove any word coming after searched string found in a word. source*.txt #!bin/bash #test1 http://www.aa.bb.cc http://www.xx.yy http://www.11.22.44 #test2 http://www.11.rr.cd http://www.01.yy http://www.yy.22.tt #test3 http://www.22.qq.fc http://www.0x.yy... (15 Replies)
Discussion started by: baris35
15 Replies

2. Shell Programming and Scripting

Bash - sed - Remove first word from line which can begin eventually with blank

hello. How to remove first word from line. The line may or may not start with blank. NEW_PARAM1=$(magic-command " -t --protocol=TCP -P 12345-u root -h localhost ") NEW_PARAM2=$(magic-command "-t --protocol=TCP -P 12345 -u root -h localhost ") I want NEW_PARAM1 equal to NEW_PARAM2 equal ... (2 Replies)
Discussion started by: jcdole
2 Replies

3. Shell Programming and Scripting

Remove string perl with first or last word is in a list

Hello, I try to delete all strings if their first or last word is one of this list of words : "the", "i", "in", "there", "this", "with", "on", "we", "that", "of" For example if i have this string in an input file "with me" this string will be removed, Example: input "the european... (2 Replies)
Discussion started by: cyrine
2 Replies

4. Shell Programming and Scripting

Remove word with sed

How can I use sed or any utility to remove any word that begins with TRS-, I have tried sed 's/ERA.*//g' but seems not to be working Input: 23 TRS-458-9 345 235 45 TRS-42-5 423 000 76 300 234 Output: 23 345 235 45 423 000 76 300 234 (5 Replies)
Discussion started by: aydj
5 Replies

5. Shell Programming and Scripting

Remove last word of a string?

Hello I have a string that may or may not have 4 dots. The string is actualy a file within a folder, where multiple files are located. Files may look like: # ls * creds: 192.168.10.110 someserver shares: 192.168.10.110.Public someserver.sharefolder # I want to fill 2 variables,... (1 Reply)
Discussion started by: sea
1 Replies

6. Shell Programming and Scripting

Remove 1st word and _ from string

var=abc_cde_def_ghi_678.txt Expected output: cde_def_ghi_678.txt Is there a better way to achive this other than cut command? Basically, I need to remove the 1st word and _ from the string. Thanks. (1 Reply)
Discussion started by: vedanta
1 Replies

7. Shell Programming and Scripting

sed or awk command to replace a string pattern with another string based on position of this string

here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb cat dump.sql INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Discussion started by: vivek d r
10 Replies

8. Shell Programming and Scripting

Using SED to extract a word or string.

I am working with the ksh shell in HP UNIX and I am attempting to extract a word, beginning with a particular string and ending at the first space. for example I want to extract the word or string MS_RECENT_ACTIVITY from the following string " This has been entered in MS_RECENT_ACTIVITY the... (2 Replies)
Discussion started by: simpletech369
2 Replies

9. Shell Programming and Scripting

remove newline between two string with sed command in unix shellscript

I have a file (test.dat) which contains data like this 459|199811047|a |b |shan kar|ooty| 460|199811047|a |bv |gur u|cbe| but I need it like: 459|199811047|a |b |shankar|ooty| 460|199811047|a |b |guru|cbe| While reading the data from this file, I don't want to remove newline from the end of... (4 Replies)
Discussion started by: jcrshankar
4 Replies

10. Shell Programming and Scripting

awk or sed command to print specific string between word and blank space

My source is on each line 98.194.245.255 - - "GET /disp0201.php?poc=4060&roc=1&ps=R&ooc=13&mjv=6&mov=5&rel=5&bod=155&oxi=2&omj=5&ozn=1&dav=20&cd=&daz=&drc=&mo=&sid=&lang=EN&loc=JPN HTTP/1.1" 302 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.0.3705; .NET CLR... (5 Replies)
Discussion started by: elamurugu
5 Replies
Login or Register to Ask a Question