传递给文件中字段的awk变量
我在使用awk变量插入文件的字段2中时遇到问题。这是我的数据:传递给文件中字段的awk变量,awk,Awk,我在使用awk变量插入文件的字段2中时遇到问题。这是我的数据: data='AAA||CCC|DDD|EEE|FFF' ds='BBB' 我想在文件的字段2中插入变量ds的值。因此,我编写了一些测试代码来查看awk中的行为: $ echo "$data" | awk -F'|' -v tmp="$ds" '{print $1}' AAA <== that works ... now I try to print my variable $ echo "$data" | aw
data='AAA||CCC|DDD|EEE|FFF'
ds='BBB'
我想在文件的字段2中插入变量ds的值。因此,我编写了一些测试代码来查看awk中的行为:
$ echo "$data" | awk -F'|' -v tmp="$ds" '{print $1}'
AAA <== that works ... now I try to print my variable
$ echo "$data" | awk -F'|' -v tmp="$ds" '{print $1 $tmp}'
AAAAAA||CCC|DDD|EEE|FFF <== output but I was expecting AAA|BBB
$echo“$data”| awk-F'|'-v tmp=“$ds”{print$1}”
AAA在awk中,您不会像在bash中一样,将$
放在变量前面以获取其值。只需输入变量名:
$ echo "$data" | awk -F'|' -v tmp="$ds" '{print tmp}'
BBB
$
仅用于获取字段的值(如$1
、$2
等)。放入$var
时,该字段基于var
的数值。如果var
的值为7,例如,$var
是第7个字段的值。如果var
为0或某个非数值,$var
与$0
相同,这是您在尝试中看到的整行内容。在awk中,您不会像在bash中一样将$
放在变量前面以获取其值。只需输入变量名:
$ echo "$data" | awk -F'|' -v tmp="$ds" '{print tmp}'
BBB
$
仅用于获取字段的值(如$1
、$2
等)。放入$var
时,该字段基于var
的数值。如果var
的值为7,例如,$var
是第7个字段的值。如果var
为0或某个非数值,$var
与$0
相同,这是您在尝试中看到的整行