我正在学习 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/