在文件中查找字符串并在bash中删除其旁边的所有文本

时间:2014-06-03 14:06:27

标签: bash

我在文件中有以下文字,我希望找到单词fox,并希望删除单词fox中的文字直到文字结尾。 (包括fox

The quick 
brown fox 
jumps over 
the lazy dog

我知道/d开关,但它只删除该行。

sed -i '/fox/d' file

要求的结果将是:

The quick 
brown

2 个答案:

答案 0 :(得分:2)

试试这个sed命令,

sed '/fox/q' file | sed 's/fox//'

示例:

$ cat c
The quick 
brown  fox blah fox 
jumps over 
the lazy dog

$ sed '/fox/q' c | sed 's/fox.*//'
The quick 
brown  

答案 1 :(得分:2)

您可以使用此sed:

sed '/fox/{s/fox//;q;}' file
The quick
brown