≡ Menu

Linux / Unix: Sed Delete Matching Words In A File

I have a file called rsnapshot.conf. It has the words "ssh_args=-p 1222". How do I match and remove (delete) the words "ssh_args=-p 1222" from config file using sed command under Linux or Unix like operating systems?

You can use the the substitute sed command changes all occurrences of the "ssh_args=-p 1222". The same command can be used to delete the required words.

Sed command syntax to remove words

The syntax is:

sed 's/word-to-find//g' input.file > output.file

Gnu/sed syntax:
sed -i 's/word-to-find//g' input.file

Examples

Type the following command

 
sed  -i 's/ssh_args=-p 1222//g' input.file
sed  -i 's/ssh_args=-p 1222//g' /etc/rsnapshot.conf
 
{ 1 comment… add one }
  • Amir November 5, 2015, 8:18 pm

    what is the command to find a word in a line, then deleting (that line and previous line)

    example, I want to search for the word JDK, delete the JDK line and the previous line.

    INPUT
    ————————-
    Version 5.1
    Version 5.1.1.12
    ID BASE
    Version 1.4.2
    ID JDK
    Version 5.1
    Version 1.4.2
    ID JDK
    Version 5.1.1.12
    ID ND

    OUTPUT
    —————————
    Version 5.1
    Version 5.1.1.12
    ID BASE
    Version 5.1
    Version 5.1.1.12
    ID ND

Leave a Comment


   Tagged with: , ,