列出目錄中具有特定副檔名的文件

列出目錄中具有特定副檔名的文件

我創建了一個名為 的文件~/usrlibs.txt,其中lib包含.a/usr/lib directory.

我試過:

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

但該命令無法正常運作。

我缺什麼?

答案1

您的意思是列出所有以in開頭lib和結尾的文件,然後用to打印字數?.a/usr/libwcusrlibs.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”結尾的文件

相關內容