I'm trying to read a file line by line and check to see if the current line contains more than one column. if it contains more than one, I want the script to abort.
I have a file called test and it contains the following...
ME
TEST
HELLO
WORLD
BOO,HOO
BYE BYE
I've found using awk that I can get the count of columns by using the following...
awk -F',' '{print NF}' test
and this returns...
1
1
1
1
2
1
Is there a way to have the script exit after the '2' is found and print an Error stating $1 (in this case BOO,HOO) contains two columns?
It appears that you want to print first row with 2 columns and exit immediately. This awk
command should work:
awk -F, 'NF > 1{print; exit}' file
BOO,HOO
An equivalent sed
command would also help here:
sed -E '/[^,]+,/q;d' file
BOO,HOO