как узнать, сколько строк у меня в файле с помощью sed (необходимо игнорировать пробелы и пустые строки)
, например
, если у меня есть файл с 139 строками (строка может включать толькоодин символ) тогда sed должен вернуть 139
lidia
Это работа для grep, а не sed:
grep
sed
<myfile grep -c '[^[:space:]]'
Вы можете попробовать:
sed -n '/[^[:space:]]/p' filename | wc -l
Здесь sed печатает только те строки, которые имеют хотя бы один непробельный символ, и wc считает эти строки.
wc
Используйте nawk вместо sed.
nawk 'NF{c++}END{print "total: "c}' file
Использование Perl one-liner:
perl -lne '$count++ if /\S/; END { print int $count }' input.file
sed '/^ *$/ d' filename | wc -l
Здесь sed печатает строки после удаления всех строк с 0 или более пробелами от начала до конца. wc -l - подсчитать количество этих строк.
wc -l