Как удалить имя файла из вывода wc -l?

Я хочу посчитать количество строк в файле, используя wc -l, но только вывести число без следующего пробела и имени файла. Редактировать из комментариев: имя файла может содержать цифры.

В настоящее время, если я сделаю:

wc -l /path/to/file

Для файла с 176 строками вывод будет:

176 /path/to/file

Это внутри скрипта bash, и полученное число будет присваивается в качестве значения переменной.

4
задан 3 March 2016 в 20:22

2 ответа

Я использовал бы:

<file wc -l

, Который contarily к cat file | wc -l не должен разветвлять оболочку и выполнять другой процесс (и работает быстрее):

% time </tmp/ramdisk/file wc -l     
8000000
wc -l < /tmp/ramdisk/file  0,07s user 0,06s system 97% cpu 0,132 total
% time cat /tmp/ramdisk/file | wc -l
8000000
cat /tmp/ramdisk/file  0,01s user 0,16s system 80% cpu 0,204 total
wc -l  0,09s user 0,10s system 94% cpu 0,203 total

(/tmp/ramdisk/file был сохранен в электронном диске для вынимания ввода-вывода и кэширующийся из уравнения.)

Однако для маленьких файлов действительно различие neglectable.

<час>

еще один путь был бы:

wc -l file | cut -d ' ' -f 1

, Который в моих тестах выполняет приблизительно то же как <file wc -l.

8
ответ дан 4 March 2016 в 06:22
  • 1
    Каков формат сжатия для файла, и Вы загружали его полностью – George Udosen 7 June 2017 в 22:29

Можно сделать это с простым одним лайнером с помощью кошки. cat deluge1.log | wc -l

Ответ, слишком простой для требования длинного вытянутого ответа.

5
ответ дан 4 March 2016 в 06:22
  • 1
    Привет, это - исходная ссылка [ tecmint.com/… , Это - ссылка действительного пакета: [ code.google.com/archive/p/gtkdialog/downloads] . и да я загрузил полный файл, и формат является .tar.gz (tar gunzip), как я иду в этом? это - фактический пакет, что я использую [Gtkdialog 0.8.3 исходных Источников Типа пакета Известный OpSys-Linux Jan 6, 2013 558.57 КБ]. – HALP 7 June 2017 в 22:40

Другие вопросы по тегам:

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