Auflisten von Dateien in einem Verzeichnis mit einer bestimmten Erweiterung

Auflisten von Dateien in einem Verzeichnis mit einer bestimmten Erweiterung

Ich habe eine Datei mit dem Namen erstellt ~/usrlibs.txt, die die Anzahl der Dateien enthält, die mit beginnen libund enden und .ain gefunden werden /usr/lib directory.

Ich habe es versucht:

ls -l /usr/lib/lib .a | wc -w > ~/usrlibs.txt 

Aber dieser Befehl funktioniert nicht richtig.

Was vermisse ich?

Antwort1

Meinen Sie, alle Dateien auflisten, die mit in beginnen libund enden , und dann die Wortanzahl mit to ausgeben ?.a/usr/libwcusrlibs.txt

ls -l /usr/lib/lib*.a | wc -w > ~/usrlibs.txt

sollte funktionieren. Sie haben nur vergessen, zwischen Ihren Mustern ein Platzhalterzeichen einzufügen.

Antwort2

Ihr Befehl ls -l /usr/lib/lib*.a | wc -w > ~/usrlibs.txtzählt nur die Wörter der ls -lgenerierten Ausgabe.

Ich denke, Sie suchen, indem Sie die Wörter in diesen lib*.aDateien zählen:

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

Antwort3

Versuchen Sie, „find“ statt „ls“ zu verwenden:

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

Mit dem Platzhalter * in der Phrase „lib*.a“ erhalten Sie alle Dateien, die mit „lib“ beginnen und mit „.a“ ​​enden.

verwandte Informationen