Vamos dividir em componentes:
awk # The actual program
-F, # Set the field delimiter to a comma
'{ # Beginning of the main series of action statements
for(i=1;i<=NF;i++) # Your typical for loop. NF is the number of fields
# in the input
if($i==""){ # $i will expand to e. g. $1, then $2, etc., which
# is each field in the input data
# If it is "" (or an empty string):
next} # Skip to the next entry. End of conditional
# and of the foor loop (no braces here)
} # End of the main series of action statements
1' # awkish shorthand basically for 'print', and end of
# the script
inputfile # The file to be processed
Como a ação padrão de awk
é incluir dados, o script simplesmente ignora registros com campos de dados vazios e imprime tudo que não foi ignorado.