5

Это правильный способ показать количество строк определенного файла?

cat file | grep * -c

3 ответа3

16

Вы можете использовать эту команду:

wc -l <file>

Это вернет общее количество строк в предоставленном файле.

1

Ваша оболочка "расширит" звездочку в grep * -c на все элементы в текущем каталоге, что приведет, например, к следующему:

grep foo bar baz -c

Что не то, что вы хотите.

Попробуй cat file | grep -c . посчитать количество строк, содержащих хотя бы печатный символ, или cat file | wc -l для подсчета количества строк.

Однако, если вход является файлом, вы можете рассмотреть возможность доступа к файлу вместо передачи его на стандартный ввод команды, которая выполняет подсчет. (например, wc -l file или файл grep . -c file).

Если вы не хотите, чтобы wc показывал имя файла при присвоении ему имени файла, вы можете извлечь первое слово из вывода wc -l с помощью вашего любимого фильтра, такого как cut(1): wc -l foo | cut -d' ' -f 1 или awk(1): wc -l foo | awk '{print $1}' или что-то еще с тем же эффектом.

0

Пронумеруйте все непустые строки:

cat file | nl

Или включите все:

cat file | nl -ba

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .