给定以下命令,
echo "1: " | awk '/1/ -F ":" {print $1}'
为什么AWK输出:
1:
?
给定以下命令,
echo "1: " | awk '/1/ -F ":" {print $1}'
为什么AWK输出:
1:
?
当前回答
echo "1: " | "456:abc:515:xyz "
awk -F: NF=/1/
1 | 456
更新:意识到我之前的回答有多啰嗦
其他回答
echo "1: " | "456:abc:515:xyz "
awk -F: NF=/1/
1 | 456
更新:意识到我之前的回答有多啰嗦
或者你可以用:
echo "1: " | awk '/1/{print $1-":"}'
这是一个非常有趣的方程。
没有必要写这么多。只需在AWK命令中使用-F选项输入所需的字段分隔符,并根据您提到的字段分隔符打印要分隔的列号。
echo "1: " | awk -F: '{print $1}'
1
echo "1#2" | awk -F# '{print $1}'
1
-F是命令行参数,不是AWK语法。试一试:
echo '1: ' | awk -F ':' '/1/ {print $1}'
-F是awk本身的参数:
$echo "1: " | awk -F":" '/1/ {print $1}'
1