Считайте количество строк в каждом столбце текстового файла

В Chrome и Firefox при нажатии F12, он поднимает инструменты разработчика. Там Вы могли найти вкладку названной консолью, где Вы могли ввести и протестировать сценарии JavaScript. Это имеет завершение кода и другие функции также.

6
07.10.2013, 00:08
3 ответа

Stephane Chazelas предлагается

awk 'NF != 3'

Это - простой способ распечатать все строки, которые не имеют точно трех столбцов. Если Вы также хотите, чтобы команда возвратила состояние отказа, если какая-либо такая строка найдена:

awk 'NF != 3 {print; ++bad} END {exit(!!bad)}'

Удалить print; не распечатать что-либо и только сообщить о присутствии таких строк через статус выхода.

Можно также сделать это с grep:

grep -Ev '^[^ ]+ +[^ ]+ +[^ ]+$'

Если Вы хотите быть более строгими и распечатать все строки, которые не состоят точно из трех столбцов каждый содержащий целое число:

grep -Ev '^([0-9]+) +([0-9]+) +([0-9]+)$'

Использовать [␉ ]+ вместо  + где символ табуляции, если Вы хотите позволить, один или несколько снабжает вкладками как разделители столбцов. Использовать (␉| +) позволить или точно одну вкладку или последовательность пробелов.

7
27.01.2020, 20:27

В случае, если то, что Вы действительно хотите, - то, что спрашивают в заголовке Вашего вопроса, этом awk команда распечатает номер строки и количество полей в каждой строке:

awk '{print NR,NF}'
0
27.01.2020, 20:27
awk '{if(NF != 3) print NR,NF}' file.txt

Это распечатает номера строк в файле, которые не имеют 3 полей и количества полей, которые они имеют.

0
27.01.2020, 20:27

Теги

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