awk脚本文件如何从命令行获得参数的值,并用这个值替代相应域的值并写入到原文件。

2025-05-13 11:53:12
推荐回答(2个)
回答1:

#cat urfile
a
client-ip a b c
b

#cat test.sh
#!/bin/bash
awk -v a=$1 '/client-ip/{$4=a;}{print}' urfile
#./test.sh 192.168.0.1
a
client-ip a b 192.168.0.1
b

回答2:

脚本名:modify.awk

脚本内容:
#!/bin/awk -f
/client-ip/{$4=var}
{print}

调用方式:
modify.awk -v var=string a.txt

结果:
将a.txt中含有"client-ip”的行的第四个域替换为命令行中输入的string。