我有一個文件通過字段列表說a.txt
和下面是它的內容:打印作爲一個變量
bob 1 100
lincoln 2 200
chris 3 300
文件內容之間用空格分隔。
使用awk,我可以訪問每列。使用以下命令 打印由逗號分隔的第1和第3列:
cat a.txt | awk ' { print $1","$3} '
,我是成功的。
現在我想從另一個shell腳本動態地傳遞條件。通過說標準我的意思是 - $1","$3
。
我試過下面的命令,但它沒有工作。
myvar="$1"
awk -v a="$myvar" ' { print a } ' a.txt
但這打印$1
3倍有三排在a.txt
。
如何通過這種方式將awk的列表傳遞給awk?
'「$ 1」'意味着你的shell腳本的第一個參數。你怎麼稱呼你的劇本? '腳本「1」'?如果'a'爲'1',則應該打印'$ a' – Kent
「$ 1」,「$ 3」 - 這部分需要動態傳遞 - 以及分隔符。比如說,如果我有5列,我應該可以發送像1美元,2美元,3美元,4美元,5美元即1和2,4和5分開的逗號和休息 - 我會從另一個文件傳遞模式作爲參數awk命令將在不同的文件 –