을 포함 ~/usrlibs.txt
하는 파일을 만들었습니다 .lib
.a
/usr/lib directory
나는 시도했다:
ls -l /usr/lib/lib .a | wc -w > ~/usrlibs.txt
그러나 명령이 제대로 작동하지 않습니다.
내가 무엇을 놓치고 있나요?
답변1
lib
in으로 시작하고 끝나는 모든 파일을 나열한 다음 to로 단어 수를 인쇄 한다는 뜻인가요 ?.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"로 끝나는 모든 파일을 제공합니다.