
Я создал файл с именем ~/usrlibs.txt
, который содержит количество файлов, начинающихся lib
и заканчивающихся на , .a
найденных в /usr/lib directory
.
Я пытался:
ls -l /usr/lib/lib .a | wc -w > ~/usrlibs.txt
Но эта команда работает неправильно.
Что я упускаю?
решение1
Вы имеете в виду вывести список всех файлов, которые начинаются lib
и заканчиваются на .a
in /usr/lib
, а затем вывести количество слов с wc
to 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».