Share your knowledge at the LQ Wiki.
Go Back > Forums > Linux Forums > Linux - Newbie
User Name
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!


  Search this Thread
Old 11-30-2009, 08:43 AM   #1
Kilam orez
Registered: Aug 2009
Location: India
Distribution: open suse, fedora
Posts: 33

Rep: Reputation: 15
Lightbulb how to remove words in a file using sed or any other command

hi dear all,

i want to remove words "Max" and "constrained" in a file given below:

Max 0.003745 constrained
Max 0.004549 constrained
Max 0.001689 constrained
Max 0.001673 constrained
Max 0.001475 constrained
Max 0.001931 constrained
Max 0.002565 constrained
Max 0.001327 constrained

and further want to replace "Max" by line number so that i can plot the resulting file.

i searched in forum, but couldn't do what i wanted to do.

e.g. i used

1)grep command

grep -v "Max" inputfile >outputfile

deletes whole line,and hence whole text.

2) sed command

cat inputfile |sed 's/ .\{1,12\} //g' >outputfile

gives output


can anybody help me out?



Last edited by Kilam orez; 11-30-2009 at 08:44 AM.
Old 11-30-2009, 09:26 AM   #2
LQ Guru
Registered: May 2005
Location: Atlanta Georgia USA
Distribution: Redhat (RHEL), CentOS, Fedora, CoreOS, Debian, FreeBSD, HP-UX, Solaris, SCO
Posts: 7,831
Blog Entries: 15

Rep: Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669
grep -n [a-z] <FILE> |sed 's/:Max//' |sed 's/constrained//'

Where <FILE> is the file that contains the original text.

The -n tells grep to add line numbers. The [a-z] just says to find any line that has one of those characters (which should be every line if they all contain Max and constrained - you could just do "grep -n M").

The line number has a colon added after it and before the original text so the first sed gets rid of the colon and the "Max". The second sed gets rid of the "constrained".

Probably a cleaner one liner could be done but that one will work.
1 members found this post helpful.
Old 11-30-2009, 09:31 AM   #3
LQ Veteran
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Mint
Posts: 17,809

Rep: Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743
Your sed syntax says: "replace every instance of 1-12 characters, followed by a space". I don't get the same results on my system.

How about this:

sed 's/[[:alpha:] ]//g' inputfile > outputfile
(Note that "cat" is not required.)(replaces all letters or spaces)

sed can also number the lines, but you need an extra command to get the line numbers on the same line.

Really good SED tutorial:

Last edited by pixellany; 11-30-2009 at 09:33 AM.
1 members found this post helpful.
Old 11-30-2009, 09:43 AM   #4
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540

Rep: Reputation: Disabled
It seems easier with awk :
awk '{printf "%.2d %s\n",NR,$2}' datafile
01 0.003745
02 0.004549
03 0.001689
04 0.001673
05 0.001475
06 0.001931
07 0.002565
08 0.001327
1 members found this post helpful.
Old 11-30-2009, 09:52 AM   #5
Senior Member
Registered: Aug 2006
Posts: 2,697
Blog Entries: 5

Rep: Reputation: 244Reputation: 244Reputation: 244
read -p "Enter line number: " num
while read -r line
  if [ "$i" -eq "$num" ];then
        line="${line//Max /}"
        echo "${line/constrained/}"
done <"file"
1 members found this post helpful.


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Command to delete words out of a text file. Dazamondo Linux - Newbie 13 06-30-2009 11:48 AM
sed to remove specific lines in a file tekmann33 Linux - Newbie 3 05-21-2009 04:41 PM
Remove sections of a xml file with sed viniciusandre Linux - Software 2 04-20-2009 02:18 PM
using sed to remove line in a comma-delimited file seefor Programming 4 03-10-2009 04:35 PM
sed: appending words residing in separate file mr_scary Programming 3 10-05-2006 02:25 PM > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 11:37 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration