Невозможно использовать завершение с помощью табуляции при использовании awk в командной строке

TL;DR :No es necesario. Es solo la opinión de un tipo.

Como muchos otros, he estado escribiendo forbucles como este durante décadas:

for F in arg1 arg2 arg*
do
    somecommand "$F"
done

Este diseño destaca el hecho de que do... donerodea 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 bashateautor (s ), no tiene que hacer nada.

1
10.10.2016, 02:55
1 ответ

Попробуйте вместо этого:

awk 'BEGIN{FS="\t"; OFS="\t"}{if ($5=="Pattern") print $0}' My_file

Если я понял вашу проблему, это должно помочь.

0
28.01.2020, 01:10

Теги

Похожие вопросы