Also ich habe dieses Problem: Ich habe einen Ordner in meinem Ubuntu, der Protokolldateien enthält. Das Benennungsmuster aller Dateien lautet wie folgt:Bash - Filterdateien im Ordner
d .exert. de -access.log- 2016-06-28
Es gibt viele Dateien. Ich habe fett hervorgehoben, welcher Teil des Namens variieren kann. Es gibt immer zwei Dateien für ein bestimmtes Datum und eine Domäne (.de, .co.uk, .dk usw.), von denen einer mit d1 und der andere mit d2 vorangestellt ist. Ich brauche d1 und d2 Dateien für jedes Datum und die Domäne, beispielsweise concat:
1) d1.exert.de_access.log_2016-06-28
2) d1.exert.dk_access.log_2016-06-24
3) d1.exert.dk_access.log_2016-06-25
4) d2.exert.de_access.log_2016-06-28
5) d2.exert.dk_access.log_2016-06-24
6) d2.exert.dk_access.log_2016-06-25
Ich brauche zu paaren und concat Dateien: 1) und 4), 2) und 5), 3) und 6), weil Sie haben dieselbe Domain und dasselbe Datum, aber andere Präfixe.
Also muss ich alle Dateien im Ordner durchgehen und diese d1/d2-Paare für jedes Datum und jede Domäne finden. Dann muss ich diese Paare zusammenführen. Ich muss ein Skript schreiben, das diese Paare automatisch findet. Ich dachte über eine Art Doppelschleife nach (z. B. die äußere Suche sucht nach dem Datum, und die innere sucht nach der Domäne), aber ich habe keine Ahnung, wie ich das erreichen soll. Oder vielleicht gibt es eine einfachere Lösung?
Eine Randbemerkung: 'zcat' kann nicht für nicht gzip verwendet werden Format, –