sed没有冗长的标志.
但是,您可以编写一个sed脚本,将已删除的行与其他行分开.您可以稍后查看删除的行,并决定是否删除它们是个好主意.
这是一个例子.我想从test.dat中删除以数字开头的每一行.
$ cat test.dat
1 First line
2 Second line
3 Third line
A Keep this one
Run Code Online (Sandbox Code Playgroud)
这是将"执行"删除的sed脚本.它查找以数字开头的行,将它们写入文件"deleted.dat",然后从模式空间中删除它们.
$ cat code/sed/delete-verbose.sed
/^[0-9]/{
w /home/myusername/deleted.dat
d
}
Run Code Online (Sandbox Code Playgroud)
这是运行它时会发生什么.
$ sed -f code/sed/delete-verbose.sed test.dat
A Keep this one
Run Code Online (Sandbox Code Playgroud)
这是它写给"deleted.dat"的内容.
$ cat deleted.dat
1 First line
2 Second line
3 Third line
Run Code Online (Sandbox Code Playgroud)
当您确信脚本要做正确的事情时,将输出重定向到另一个文件,或者就地编辑文件(-i选项).
| 归档时间: |
|
| 查看次数: |
2299 次 |
| 最近记录: |