列出目录中具有特定扩展名的文件

列出目录中具有特定扩展名的文件

我创建了一个名为 的文件~/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”结尾的文件

相关内容