Bash删除所有以字符串开头的行,包括空格

时间:2015-11-05 16:02:41

标签: regex linux bash awk sed

我正在尝试使用sed或awk从fstab中删除几行,我想删除那些以某些前缀开头的行,这些行可能有白色空格。

我尝试过这个选项:sed -i '/^SomeFileSystem/d' fstab 但它并没有删除该行..

fstab条目:

myServer:/clearcase /clearcase nfs rw,hard,intr,bg,tcp,vers=3,rsize=32768,wsize=32768,timeo=4

这是我正在尝试执行的命令

sed -i '/^myServer:/clearcase/d' fstab

3 个答案:

答案 0 :(得分:2)

由于你要查找的字符串中的斜杠/,这可能无法正常工作。

只需使用其他sed分隔符:

sed -i '\@^myServer:/clearcase@d' fstab

答案 1 :(得分:0)

逃离里面的斜线:

myServer:/clearcase /clearcase nfs rw,hard,intr,bg,tcp,vers=3,rsize=32768,wsize=32768,timeo=4

试试这个:

sed -i '/^myServer:\/clearcase/d' fstab

答案 2 :(得分:0)

如果该行可能以空格开头,请调整正则表达式。

sed -i '\#^ *myserver:/clearcase#d' fstab

这也避免了使用与斜杠不同的正则表达式分隔符来转义斜杠的要求。