ger*_*ijk 129
grep 方法要创建不与“cat”或“rat”匹配的行的文件副本,可以使用grep反向 ( -v) 和全字选项 ( -w)。
grep -vwE "(cat|rat)" sourcefile > destinationfile
Run Code Online (Sandbox Code Playgroud)
全字选项确保它不会匹配cats或grateful例如。使用 shell 的输出重定向 ( >) 将其写入新文件。我们需要-E为(one|other)语法启用扩展正则表达式的选项。
sed 方法或者,要删除就地行,可以使用sed -i:
sed -i "/\b\(cat\|rat\)\b/d" filename
Run Code Online (Sandbox Code Playgroud)
该\b套字边界和d操作删除匹配斜杠之间表达的行。cat并且rat都与(one|other)我们显然需要用反斜杠转义的语法匹配。
提示:在覆盖文件之前使用sed不带-i操作符来测试命令的输出。
Rad*_*anu 19
要仅在终端中进行测试,请使用:
sed '/[cr]at/d' file_name
Run Code Online (Sandbox Code Playgroud)
要真正从文件中删除这些行,请使用:
sed -i '/[cr]at/d' file_name
Run Code Online (Sandbox Code Playgroud)
尝试使用ex命令(Vi/Vim 的一部分):
ex +"g/[cr]at/d" -scwq file.txt
Run Code Online (Sandbox Code Playgroud)
上述工具优于其他工具,例如sed由于其非标准 FreeBSD -i(就地)扩展,并且可能在其他操作系统上不可用。其次sed是小号tream ED itor,而不是一个文件编辑器。
| 归档时间: |
|
| 查看次数: |
307998 次 |
| 最近记录: |