如何使用awk創建下面的輸出?我無法爲逗號分隔的數據創建循環。awk腳本來讀取txt文件
awk '{print "echo "$1"\nadd "$2"\nremove "$3"\nlist "$4}' test.txt
的test.txt
1 abc,bcd xyz,yza qwe,wer
2 abc xyz qwe
3 abc xyz,yza qwe,wer
4 abc,bcd xyz wer
輸出:
echo 1
add abc
add bcd
remove xyz
remove yza
list qwe
list wer
echo 2
add abc
remove xyz
list qwe
echo 3
add abc
remove xyz
remove yza
list qwe
list wer
echo 4
add abc
add bcd
remove xyz
list wer
謝謝karakfa。你能解釋第二個awk語句嗎?它適用於示例輸入,但我試圖修改此爲我的原始輸入。 – user5420138
那麼,它假定你將有1或2個子字段。第二awk通過空格和逗號分割字段。對於2個子場,NF將是3,將其餘分成兩行。這將適用於樣本集,但更多子字段可能難以擴展。如果這是您的輸入,循環解決方案可能會更好。 – karakfa
這裏是我的輸入文件中的一行:「abc bcd cde def:fed fed:abc,bcd」我需要將fed:abc,bcd分割爲兩行:「abc bcd cde def:fed fed:abc」「 abc bcd cde def:fed fed:bcd「 – user5420138