Список файлов в каталоге с определенным расширением

Список файлов в каталоге с определенным расширением

Я создал файл с именем ~/usrlibs.txt, который содержит количество файлов, начинающихся libи заканчивающихся на , .aнайденных в /usr/lib directory.

Я пытался:

ls -l /usr/lib/lib .a | wc -w > ~/usrlibs.txt 

Но эта команда работает неправильно.

Что я упускаю?

решение1

Вы имеете в виду вывести список всех файлов, которые начинаются libи заканчиваются на .ain /usr/lib, а затем вывести количество слов с wcto usrlibs.txt?

ls -l /usr/lib/lib*.a | wc -w > ~/usrlibs.txt

Должно работать. Вы просто забыли добавить подстановочный знак между вашими шаблонами.

решение2

Ваша команда ls -l /usr/lib/lib*.a | wc -w > ~/usrlibs.txtпросто подсчитывает слова в выводимых данных ls -l.

Я думаю, что вы ищете, подсчитывая слова в этих lib*.aфайлах:

user@host:~# wc -w /usr/lib/lib*.a
    222 /usr/lib/libanl.a
     31 /usr/lib/libBrokenLocale.a
     24 /usr/lib/libbsd-compat.a
  54564 /usr/lib/libc.a
    298 /usr/lib/libc_nonshared.a
    832 /usr/lib/libcrypt.a
    206 /usr/lib/libdl.a
     24 /usr/lib/libg.a
      6 /usr/lib/libieee.a
  15842 /usr/lib/libm.a
     12 /usr/lib/libmcheck.a
   2681 /usr/lib/libnsl.a
  37214 /usr/lib/libpthread.a
     99 /usr/lib/libpthread_nonshared.a
   1537 /usr/lib/libresolv.a
    600 /usr/lib/librpcsvc.a
    984 /usr/lib/librt.a
    431 /usr/lib/libsupp.a
    164 /usr/lib/libutil.a
 115771 total

решение3

Попробуйте использовать «find» вместо «ls»:

find /usr/lib -name "lib*.a" | wc -w > ~/usrlibs.txt

Подстановочный знак: * в фразе «lib*.a» вернет вам все файлы, которые начинаются с «lib» и заканчиваются на «.a».

Связанный контент