linux - 使用 awk 保存修改

我正在学习 awk,我想知道是否可以选择将更改写入文件,类似于 sed 我将使用 -i 选项将修改保存到文件。

我明白我可以使用重定向来编写更改。但是 awk 中是否有一个选项可以做到这一点?

最佳答案

在 GNU awk 中 4.1.0 (2013 年发布)及以后,它有 "inplace" file editing 的选项:

[...] The "inplace" extension, built using the new facility, can be used to simulate the GNU "sed -i" feature. [...]

示例用法:

$ gawk -i inplace '{ gsub(/foo/, "bar") }; { print }' file1 file2 file3

保留备份:

$ gawk -i inplace -v INPLACE_SUFFIX=.bak '{ gsub(/foo/, "bar") }
> { print }' file1 file2 file3

https://stackoverflow.com/questions/16529716/

相关文章:

linux - 查找和复制文件

python - 在调用者线程中捕获线程的异常?

python - python,del或delattr哪个更好?

c - C 到毫秒是否有替代 sleep 功能?

linux - 什么进程正在使用我所有的磁盘 IO

linux - 重命名文件和目录(添加前缀)

python - BeautifulSoup 获取 href

linux - 如何来回反向搜索?

python - 在 python shell 中按箭头键时看到转义字符

python - 在python中通过分隔符拆分字符串