Fügen Sie nebeneinander mehrere Dateien in numerischer Reihenfolge
Habe ich viele Dateien in einem Verzeichnis mit ähnlichen Dateinamen wie Datei1, Datei2, datei3, datei4, file5, ..... , file1000. Sie sind von der gleichen dimension, und jeder von Ihnen hat 5 Spalten und 2000 Zeilen. Ich will fügen Sie Sie alle zusammen nebeneinander in einer numerischen Reihenfolge in eine große Datei, so dass die Letzte große Datei haben sollte, 5000 Spalten und 2000 Zeilen.
Versuchte ich
for x in $(seq 1 1000); do
paste `echo -n "file$x "` > largefile
done
Statt zu schreiben Sie alle Dateinamen in der Befehlszeile, gibt es eine Möglichkeit, ich kann fügen Sie die Dateien in numerischer Reihenfolge (Datei1, Datei2, datei3, datei4, file5, ..., file10, file11, ..., file1000)?
Beispiel:
Datei1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
...
Datei2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
....
Datei 3
3 3 3 3 3
3 3 3 3 3
3 3 3 3 3
....
paste Datei1 Datei2 datei3 .... Datei 1000 > largefile
largefile
1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
....
Dank.
- reanme die Dateien, die ein setzen führende 0EN in würde Art, die aus
- Ich erkannte, dass ich möglicherweise nicht in der Lage sein zu verwenden, fügen Sie * > largefile in meine Befehlszeile, da nach vorherigen Schritte, es sind andere Dateien im gleichen Verzeichnis. Ich habe zu tun haben-Dateien mit bestimmten Namen, wie "Datei$n" nur.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Ihr aktuelle shell ist bash:
paste -d " " file{1..1000}
bash
oderzsh
oderksh93
. Die syntax entstand inzsh
.müssen Sie benennen Sie die Dateien mit führenden Nullen, wie
Oben ist für "dry run" - Entfernen Sie den
echo
wenn Sie zufrieden sind...oder Sie verwenden können, z.B. perl
und nach können Sie
Mit
zsh
:<x-y>
ist passende positive dezimale integer-zahlen vonx
zuy
.x
- und/odery
verzichtet werden kann, so<->
ist eine beliebige positive ganze Dezimalzahl Anzahl. Es könnte auch geschrieben werden[0-9]##
(##
diezsh
entspricht der regex+
).Den
(n)
ist die globbing qualifiers. Dien
Platzhalter qualifier schaltet auf numerische Sortierung sortiert alle Sequenzen der Dezimalstellen, die in der Datei names.