linux命令行文本文件操作

时间:2015-07-23 14:36:59

标签: linux bash sed grep

我们说我有一个包含以下内容的文本文件:

test
blablabla
test1
moreblabla
atest
blabla3
just*a*test
blabla14
test88
lastblabla

我想删除 ONLY 与字符串完全匹配的行" test"以及它之后的行没有删除包含字符串的行" test" 所以在我的情况下,我想删除第一行和第二行,但不删除其余行。

上面的文件只是一个例子,文件内容的变化就像字符串一样。

我在sed找到的所有示例都只处理删除只包含一些字符串的行。我想只删除 IS 完全符合该字符串的行。

1 个答案:

答案 0 :(得分:4)

只需在^正则表达式周围添加$test即可锚定您的匹配项。

sed -e '/^test$/,+1d' path/to/file

或者你可以^ *test *$为包含'test'的行做空格。