извлечь номер строки общего количества (wc -l) в оболочке - PullRequest
0 голосов
/ 08 января 2019

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

currentDir$ wc -l *.fastq
    216272 a.fastq
    402748 b.fastq
   4789028 c.fastq
  13507076 d.fastq
   5818620 e.fastq
  24733744 total

Мне нужно только извлечь 24733744 из вышеперечисленного. Я пытался

wc -l *.fastq | tail -l

чтобы получить

  24733744 total

но не уверен, что делать дальше. Если я использую «вырезать», то раздражает то, что перед номером есть несколько пробелов, и мне нужно будет использовать этот код и для других папок, а количество пробелов может отличаться.

Любой совет приветствуется. Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Это должно работать с любым количеством пробелов:

wc -l *.fastq | tail -l |  tr -s ' ' | cut -f 2 -d ' '

Пример:

    echo "  24733744 total" | tr -s ' ' | cut -f 2 -d ' '
24733744
0 голосов
/ 08 января 2019

Для этой конкретной проблемы, вероятно, проще сделать:

cat *.fastq | wc -l
...