我有這個輸入文件:file_in.txt(由管道分隔)基於特定字段的grep/awk特定行;使用KSH變量使用awk
3345:tyg|rty|27|0|0|ty6|{89|io|}62|0
3346:tyg|rtyuio|63|0|1|ty6|{89|gh|}45|0
3347:tyu|ray|24|0|0|ty6|{89|uh|}27|0
3348:tyg|rtoy|93|0|1|ty6|{89|yh|}1|0
3349:tyo|rtert|28|0|0|ty6|{89|gh|}27|0
我想只有那些使用'|'
作爲分隔符具有第九字段值}27
線,從而使我的輸出應該是:
3347:tyu|ray|24|0|0|ty6|{89|uh|}27|0
3349:tyo|rtert|28|0|0|ty6|{89|gh|}27|0
下面的命令正常工作:
awk -F"|" '{ if ($9 == "}27") print $0 }' file_in.txt
但我想用一個shell變量,而不是"}27"
爲此我嘗試這樣做:
taskid="}27"
awk -v tid="$taskid" -F"|" '{ if ($9 == "}tid") print $0 }' file_in.txt
請幫我找出我在哪裏使用這個命令去錯了。 任何其他命令建議,以實現相同的讚賞。
什麼是命令的輸出可選空白,你試過嗎? – Ben