如何从TAB分隔的字符串中选择第一列?awk中的制表符分隔值
# echo "LOAD_SETTLED LOAD_INIT 2011-01-13 03:50:01" | awk -F'\t' '{print $1}'
以上将返回整个行,而不是像预期的那样只是“LOAD_SETTLED”。
更新:
我需要改变的制表符分隔值的第三列。 以下不起作用。
echo $line | awk 'BEGIN { -v var="$mycol_new" FS = "[ \t]+" } ; { print $1 $2 var $4 $5 $6 $7 $8 $9 }' >> /pdump/temp.txt
但是,如果分隔符是逗号而不是制表符,则按预期工作。
echo $line | awk -v var="$mycol_new" -F'\t' '{print $1 "," $2 "," var "," $4 "," $5 "," $6 "," $7 "," $8 "," $9 "}' >> /pdump/temp.txt
AWK“BEGIN {FS = “[\吨] +”}; {print $ 1}'#这就是我一直在寻找的东西。我的谷歌搜索是否正确? :) – shantanuo 2011-03-21 05:50:14
感谢这个评论,我发现:'awk'BEGIN {FS =“\ t”}; {print $ 1,FS,$ 2,FS,$ 3}'myFile.txt'打印前三列的制表符分隔值。 – Wok 2013-05-30 09:33:11
或者只是'awk'BEGIN {OFS =“\ t”}; {print $ 1,$ 2,$ 3}'' – 2015-07-22 03:07:19