我試圖替換文件中的特定列,讓我們假設在test.txt
中的第三列。Awk替換不在「if」語句中工作
創建test.txt
:
echo "1 2 -1" > test.txt
echo "3 4 +1" >> test.txt
如果我做一個簡單的替換,它的工作原理:
awk '$3="cows"' test.txt
1 2 cows
3 4 cows
但是,如果我使用條件來改變輸出,我什麼也沒有:
awk '{
if ($3 == "+1")
$3="cows";
else if ($3 == "-1")
$3="sheep";
}' test.txt
我在這裏錯過了什麼?謝謝!
'print'語句。 –
您的輸入使用'+ 1'。你的awk使用'1'。這是否解釋了什麼? – John3136
感謝您指出了John3136,我解決了這個問題。 – chimeric