TL;DR :No es necesario. Es solo la opinión de un tipo.
Como muchos otros, he estado escribiendo for
bucles como este durante décadas:
for F in arg1 arg2 arg*
do
somecommand "$F"
done
Este diseño destaca el hecho de que do... done
rodea el cuerpo del bucle,como llaves en C -como lenguajes, y permite nuevas líneas para separar los componentes de la construcción del bucle.
Por supuesto, también hay guerras religiosas sobre dónde colocar las llaves, por lo que se podría decir que el jurado todavía está deliberando sobre este. En mi humilde opinión, así es claramente como fue diseñado para funcionar; A Bourne le gustaban los delimitadores emparejados, cf. if... fi
, case... esac
, y la necesidad de un punto y coma en la versión más corta revela que lo está haciendo más corto de lo que se diseñó originalmente. Nada de malo con eso; la tecnología avanza y muchas cosas que antes parecían una buena idea ahora están mal vistas, como goto
. Pero hasta que toda la comunidad de scripts de shell -adopte las preferencias del bashate
autor (s ), no tiene que hacer nada.
Попробуйте вместо этого:
awk 'BEGIN{FS="\t"; OFS="\t"}{if ($5=="Pattern") print $0}' My_file
Если я понял вашу проблему, это должно помочь.