我正在学习awk
,我想知道是否有一个选项可以将更改写入文件,类似于sed
,我将使用-i
选项保存对文件的修改.
我知道我可以使用重定向来编写更改.然而,在awk
人中有这样的 Select 吗?
我正在学习awk
,我想知道是否有一个选项可以将更改写入文件,类似于sed
,我将使用-i
选项保存对文件的修改.
我知道我可以使用重定向来编写更改.然而,在awk
人中有这样的 Select 吗?
在GNU Awk 4.1.0(2013年发布)及更高版本中,它有"inplace" file editing个选项:
[...] 使用新设施构建的"就地"扩展可用于模拟GNU"
sed -i
"功能.[...]
用法示例:
$ gawk -i inplace '{ gsub(/foo/, "bar") }; { print }' file1 file2 file3
要保留备份:
$ gawk -i inplace -v INPLACE_SUFFIX=.bak '{ gsub(/foo/, "bar") }
> { print }' file1 file2 file3