这是基于potong的答案.以下代码将'll'替换为'zz',创建备份文件,显示新文本,并将更改写入文件.
$ echo hello > test
$ sed -e 's/ll/zz/;w /dev/stdout' -i .backup test
hezzo
$ cat test
hezzo
$ cat test.backup
hello
Run Code Online (Sandbox Code Playgroud)
小智 6
假设您正在将sed输出传递给文件,您可以使用tail命令(在另一个终端中)不断查看文件的结尾; 这样你就可以看到进步了.
tail -f output_from_sed.txt
Run Code Online (Sandbox Code Playgroud)
如果您要将文件的输出重定向sed或awk重定向到文件(而不是就地修改文件),您可以尝试pv(“管道查看器”):
sed -e '...' input.txt | pv > output.txt
Run Code Online (Sandbox Code Playgroud)
您可以使用pv -l它来报告写入行的进度。进度状态被打印到stderr,而实际数据则从 到stdin巡游stdout。
这可能对你有用(对于sed):
sed -i 's/foo/bar/;w /dev/stdout' files*
Run Code Online (Sandbox Code Playgroud)
这将在应用更改后打印文件的内容.
| 归档时间: |
|
| 查看次数: |
25590 次 |
| 最近记录: |