Как работает awk -F?

Можете ли вы объяснить, как работает следующий фрагмент кода?

l_Basename="hello_world.ksh"

l_THIS_FILE=`echo $l_Basename | awk -F. '{field=1
             while (field < NF) {
                 printf $field
                 if (field < NF - 1) {
                     printf "."}
                 field++} 
             printf "\n"}'`
1
задан 15 November 2014 в 12:18

1 ответ

Опция «-F» позволяет изменять символ «разделителя полей» Awk. Awk рассматривает каждую строку входных данных как состоящую из нескольких «полей», которые по существу являются словами, разделенными пробелами. Пустое пространство (или символ табуляции) является разделителем полей по умолчанию. В некоторых случаях входные данные могут быть разделены другим символом, например, «:», и было бы неплохо дать возможность Awk использовать другой разделитель полей. Это то, что делает опция «-F». Чтобы вызвать Awk и указать «:» в качестве разделителя полей, напишем:

awk -F: ...

В этом случае разделитель полей является «.»

1
ответ дан 24 May 2018 в 01:51

Другие вопросы по тегам:

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