我正在尝试逐行读取文件并检查当前行是否包含多个列。如果它包含多个,我希望脚本中止。
我有一个名为 test 的文件,它包含以下内容...
ME
TEST
HELLO
WORLD
BOO,HOO
BYE BYE
我发现使用 awk 可以通过以下方式获取列数...
awk -F',' '{print NF}' test
然后返回...
1
1
1
1
2
1
有没有办法让脚本在找到“2”后退出并打印错误,指出 $1(在本例中为 BOO,HOO)包含两列?
您似乎想打印第一行两列并立即退出。这个
awk
命令应该有效:
awk -F, 'NF > 1{print; exit}' file
BOO,HOO
等效的
sed
命令:
sed -E '/[^,]+,/q;d' file
BOO,HOO