Количество полей, возвращаемых awk Есть ли способ заставить awk возвращать число полей, удовлетворяющих критериям разделителя полей? Скажем, например, мой файл содержит a b c d поэтому awk --field-separator=" " | <something> должен возвращать 4 Ответ 1 Переменная NF устанавливается на общее число полей во входной записи. Итак: echo "a b c d" | awk --field-separator=" " "{ print NF }" отобразит 4 Обратите внимание, что: echo -e "a b c d\na b" | awk --field-separator=" " "{ print NF }" отобразит: 4 2 Надеюсь, что это поможет, и счастливое awking Ответ 2 NF задает количество полей для данной записи: []$ echo "a b c d" | gawk '{print NF}' 4 Ответ 3 Если вы хотите узнать набор всех номеров полей в многострочном содержимом, вы можете запустить: X | awk '{print NF}' | sort -n | uniq является X командой, которая выводит содержимое в стандартный вывод: cat, echo и т.д. Пример: С file.txt: a b b c c d e t a e u Команда cat file.txt | awk '{print NF}' | sort -n | uniq будет печатать: 2 3 И с file2.txt: a b b c c d e u Команда cat file2.txt | awk '{print NF}' | sort -n | uniq будет печатать: 2
Ответ 1 Переменная NF устанавливается на общее число полей во входной записи. Итак: echo "a b c d" | awk --field-separator=" " "{ print NF }" отобразит 4 Обратите внимание, что: echo -e "a b c d\na b" | awk --field-separator=" " "{ print NF }" отобразит: 4 2 Надеюсь, что это поможет, и счастливое awking
Ответ 3 Если вы хотите узнать набор всех номеров полей в многострочном содержимом, вы можете запустить: X | awk '{print NF}' | sort -n | uniq является X командой, которая выводит содержимое в стандартный вывод: cat, echo и т.д. Пример: С file.txt: a b b c c d e t a e u Команда cat file.txt | awk '{print NF}' | sort -n | uniq будет печатать: 2 3 И с file2.txt: a b b c c d e u Команда cat file2.txt | awk '{print NF}' | sort -n | uniq будет печатать: 2