GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Cat-Dateien in bestimmter Reihenfolge basierend auf der Nummer im Dateinamen?

Ich habe Dateien namens file.88_0.pdb , file.88_1.pdb , ... , file.88_100.pdb . Ich möchte cat sie so, dass file.88_1.pdb wird nach file.88_0.pdb eingefügt , file.88_2.pdb nach file.88_1.pdb , und so weiter. Wenn ich cat file.88_*.pdb > all.pdb mache , werden die Dateien in folgender Reihenfolge zusammengestellt:0 1 10 11 12 13 14 15 16 17 18 19 2 20... usw. Wie setze ich sie zusammen, sodass die Reihenfolge 0 1 2 3 4 5 6... ist ?

Akzeptierte Antwort:

Verwenden Sie brace expansion

cat file.88_{0..100}.pdb >>bigfile.pdb

Um das Drucken der Fehlermeldungen für nicht vorhandene Dateien zu ignorieren, verwenden Sie:

cat file.88_{0..100}.pdb >>bigfile.pdb 2>/dev/null

Im zsh Shell haben Sie auch den (n) Globbing-Qualifizierer, um eine numerische anzufordern Sortierung (im Gegensatz zur Voreinstellung alphabetisch ) für Globs:

cat file.88_*.pdb(n) >>bigfile.pdb 2>/dev/null

Linux
  1. Reihenfolge der Umleitungen?

  2. Bestimmte Dateien zu einer einzigen Datei verketten?

  3. Wie verstecke ich Dateien mit einer bestimmten Erweiterung?

  4. Verwenden Sie den Befehl fallocate, um Dateien einer bestimmten Größe in Linux zu erstellen

  5. So zeigen Sie bestimmte Zeilen einer Datei in der Linux-Befehlszeile an

So tarieren Sie bestimmte Dateitypen (Erweiterungen) in einem Verzeichnis

So kopieren Sie Dateien mit einer bestimmten Dateierweiterung rekursiv

So schließen Sie bestimmte Dateierweiterungen beim rekursiven Kopieren von Dateien aus

So finden Sie Dateien basierend auf dem Zeitstempel in Linux

So finden Sie Dateien, die eine bestimmte Textzeichenfolge in Linux enthalten

Einfache Möglichkeit, Dateien mit dem Cat-Befehl zusammenzuführen