file1:
> cat file1
blasd
ewfwf
wegew
gewg
ingo dubingo
heinz harald
heinz becker
dschingis khan
heino
turbonegro
beavis butthead
file2:
> cat file2
wegew
gewg
ingo dubingo
heinz harald
script:
while read line; do bla=`grep "$line" file2`; if [[ $bla != $line ]]; then echo "$line"; fi; done < file1
output:
blasd
ewfwf
heinz becker
dschingis khan
heino
turbonegro
beavis butthead
das sind jetzt nur die zeilen die in file1 sind, nicht aber in file2
wenn du nur in einer bestimmten spalte suchen willst, dann musste halt noch mit awk eine zwischenvariable einlesen.
so beispielsweise für die 5. spalte
while read line; do bla=`grep "$line" file2|awk '{print $5}'`; if [[ $bla != $line ]]; then echo "$line"; fi; done < file1
ist zwar nicht mit awk, aber das funzt ... schau halt mal obs dir hülft
geht wie du siehst auch mit leerzeichen und gleichen zeilenanfängen