Как посчитать количество непустых строк в файле, используя sed? - PullRequest
5 голосов
/ 03 сентября 2010

как узнать, сколько строк у меня в файле с помощью sed (необходимо игнорировать пробелы и пустые строки)

, например

, если у меня есть файл с 139 строками (строка может включать толькоодин символ) тогда sed должен вернуть 139

lidia

Ответы [ 5 ]

12 голосов
/ 03 сентября 2010

Это работа для grep, а не sed:

<myfile grep -c '[^[:space:]]'
3 голосов
/ 03 сентября 2010

Вы можете попробовать:

sed -n '/[^[:space:]]/p' filename | wc -l

Здесь sed печатает только те строки, которые имеют хотя бы один непробельный символ, и wc считает эти строки.

1 голос
/ 03 сентября 2010

Используйте nawk вместо sed.

nawk 'NF{c++}END{print "total: "c}' file
0 голосов
/ 13 декабря 2013

Использование Perl one-liner:

perl -lne '$count++ if /\S/; END { print int $count }' input.file
0 голосов
/ 04 сентября 2010
sed '/^ *$/ d' filename | wc -l

Здесь sed печатает строки после удаления всех строк с 0 или более пробелами от начала до конца. wc -l - подсчитать количество этих строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...