
というファイルを作成しました。このファイルには、 で始まりで終わる に~/usrlibs.txt
あるファイルの数が含まれています。lib
.a
/usr/lib directory
私は試した:
ls -l /usr/lib/lib .a | wc -w > ~/usrlibs.txt
しかし、このコマンドは正しく機能しません。
何が足りないのでしょうか?
答え1
lib
で始まりで終わる.a
すべてのファイルを一覧表示し、から までの/usr/lib
単語数を印刷するという意味ですか?wc
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
「ls」の代わりに「find」を使用してみてください:
find /usr/lib -name "lib*.a" | wc -w > ~/usrlibs.txt
ワイルドカード: * を「lib*.a」というフレーズで使用すると、「lib」で始まり、「.a」で終わるすべてのファイルが表示されます。