📅  最后修改于: 2023-12-03 14:39:24.963000             🧑  作者: Mango
在编程中,有时需要修改文件中的某些字符串。awk是一个非常强大的文本处理工具,可以用变量替换文件中的字符串。下面介绍一些常见的用法。
假设有一个文件file.txt
,其中包含字符串hello world
,我们想把它替换成hello awk
。可以使用下面的命令:
awk '{gsub(/world/,"awk"); print}' file.txt
这里用gsub
函数把world
替换成变量awk
,然后用print
打印输出。输出结果为:
hello awk
可以通过命令行参数或环境变量来定义变量,然后在awk脚本中使用。假设我们定义一个变量name
,并把值设置为awk
,那么可以使用下面的命令把hello world
替换成hello awk
:
awk -v name='awk' '{gsub(/world/,name); print}' file.txt
也可以使用环境变量来定义变量,例如:
export name='awk'
awk '{gsub(/world/,ENVIRON["name"]); print}' file.txt
这里使用ENVIRON
数组获取环境变量,并将其赋值给变量name
。
如果需要直接修改文件,可以使用awk的-i
选项。例如,下面的命令把文件file.txt
中的world
替换成awk
,并直接保存修改结果:
awk -i inplace '{gsub(/world/,"awk"); print}' file.txt
这会覆盖原始文件,所以请谨慎使用。
以上就是awk中使用变量替换文件中的字符串的一些常用方法。通过这些技巧,你可以更方便地处理文本文件,提高自己的编程效率。