Dateinamen analysierenLinux

Linux verstehen
Guest
 Dateinamen analysieren

Post by Guest »

Ich habe ein großes Verzeichnis (mehrere hundert Dateien), in dem die Dateinamen das allgemeine Format eines eindeutigen Benutzernamens haben (alle A-Z und a-z, Unterstriche, keine Leerzeichen), gefolgt von 2 oder 3 Zahlen und dann einer Buchstabe von a bis z.
Ich möchte in der Lage sein, den Namen jedes einzelnen Benutzers aufzulisten, gefolgt von der Anzahl der Dateien, die mit dem Namen des Benutzers beginnen.
Zum Beispiel:
  • JosephB01a.txt
  • JosephB02a.jpg
  • Joseph02b.jpg
  • JosephB03a.png
  • JoeM01a.jpg
  • JoeM02a.zip
  • SamJ01a.jpg
  • SamJ01b.txt
  • LisaW10a.tif
Würde zurückgeben:

JosephB 4

JoeM 2

SamJ 2

LisaW 1
Da ich es nicht getan habe Ich habe viel für die Codierung außerhalb von Excel getan 20 Jahre lang habe ich versucht, dies zunächst in Excel zu tun. Kein Problem beim Importieren der Dateiliste in eine Tabellenkalkulation. Allerdings kann ich mir keine Möglichkeit vorstellen, die Zählung zu automatisieren. Das manuelle Erstellen eines COUNT für jeden Namen ist immer noch zu zeitaufwändig.

Ich habe grep und wc mit einer kleinen Auffrischung einiger YouTube-Videos ausprobiert, bin aber auf das gleiche Problem gestoßen. Mit jedem Namen grep zu machen, ist zu viel.

Ich habe einen Tag damit verbracht, Perl mit etwas Hilfe von YouTube und hier neu zu lernen. Reguläre Ausdrücke scheinen nur „true“ oder „false“ zurückzugeben und nicht die Zeichenfolge, die dem MUSTER entspricht. Ich konnte keine Möglichkeit finden, für jeden eindeutigen USERNAME ein Array zu erstellen, um dann die grep()-Übereinstimmungen zu zählen.

Ich bin mir sicher, dass es dafür eine C++-Lösung gibt, aber ich hatte noch keine Compiler seit über einem Jahrzehnt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post