linux - 如何打印由 sed/awk 更改的行号

标签 linux unix awk sed

是否可以打印sed改变的行号和行内容?

我只需要一个简单的文本替换,不需要正则表达式:

sed -i "s:replace_me:replaced:" test.c

我将需要它来编写 bash 脚本。

提前致谢!

最佳答案

你可以用几种方式摆动它:

vi

使用文本编辑器,您可以交互式地替换模式,编辑器会在每次替换前提示。因此,您可以为每种情况选择 yn

$ vim file
:%s/pattern/replace/gc

差异

使用 diff,您可以轻松比较两个文件并查看更改:

$ sed 's/pattern/replace/g' file > tmpfile
$ diff -u file tmpfile

$ diff -y file tmpfile

尝试使用 man diff 进行其他很酷的可视化。

然后当你确定没问题时,做:

$ mv tmpfile file

关于linux - 如何打印由 sed/awk 更改的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31063650/

相关文章:

windows - windows下git mingw32和长路径/文件名

linux - Paypal TLS 测试失败

linux - Kate 编辑器重置设置

linux - 客户端能否确定服务器是否具有 accept() 的 unix 套接字?

c - Longjmp 超出信号处理程序?

用于汇总 CSV 列的 Perl 脚本(或任何东西)

regex - 从逗号分隔文件中删除多余的逗号

c - 快速构建工具并制定替代方案?

linux - 将多个文本文件附加到单个文件中的脚本

linux - unix - awk 意外行为