-1
我有一個文件,其中有由分隔符(本例中爲空格)分隔的列。如何直接將參數傳遞給awk
打印我使用的列,
awk ' { print $1 "," $3 } filename
此打印由逗號分隔的列1和3。
現在我想發送$1 "," $3
作爲參數。所以我可以改變它像$1 "-" $3
,我也應該能夠改變後面的參數的數量,如$1 "," $2 "-" $3
。
目的是動態傳遞字段和分隔符,即。awk命令將在一個文件中,並且該模式應該作爲參數傳遞。有沒有可能
例如。
trigger.sh
#!/bin/bash
var="\$1\"\,\"\$2" #this is $1","$2
sh test.sh $var
test.sh
#!/bin/bash
awk -v var="$1" ' { print var}' data.dat
data.dat文件包含實際數據
,但我無法得到所需的輸出。
輸出:
awk: warning: escape sequence `\,' treated as plain `,'
$1","$2 --> printing this instead of columns
不要逃脫$,否則你會得到$ 1,$ 2 –
'awk'不支持評估格式化命令。 – anubhava
@MaheshKharvi以同樣的方式嘗試。但它也很有用 –