我有一个用例,其中我需要用某些字符串替换某些字段的值。必须在运行时从配置文件中提取字段值,并且应使用“ X”替换该字段中的每个字符。
输入:你好〜| *世界好消息〜| *再见
输出:你好〜| * XXXXX好〜| * XXX
为此,我正在使用以下命令
awk -F "~\|\*" -v OFS="~|*" '{gsub(/[a-zA-Z0-9]/,"X",$ordinal_position)}1' $temp_directory/$file_basename
这里,我想在要使用字段编号的地方使用ordinal_position变量。
我已经在下面的命令中尝试过,但是无法正常工作。
awk -F '~\|\*' -v var="$"25 -v OFS='~|*' '{gsub(/[a-zA-Z0-9]/,"X",var)}1' $temp_directory/$file_basename
将字段号作为整数传递,并将其包含在$()
中以在awk程序中引用该字段。
awk -F '~\|\*' -v var=25 -v OFS='~|*' '{gsub(/[a-zA-Z0-9]/,"X",$(var))}1' $temp_directory/$file_basename