특정 확장자를 가진 디렉토리의 파일 나열

특정 확장자를 가진 디렉토리의 파일 나열

나는 에서 발견된 로 시작 하고 끝나는 ~/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

'ls' 대신 'find'를 사용해 보세요.

find /usr/lib -name "lib*.a" | wc -w > ~/usrlibs.txt

"lib*.a" 구문에 와일드카드: *를 사용하면 'lib'로 시작하고 '.a'로 끝나는 모든 파일이 제공됩니다.

관련 정보