Ich habe eine große Anzahl von Dateien mit Erweiterungen wie .0_1234
.0_4213
und .0_4132
usw. Einige davon sind gzip
komprimiert und andere sind rohe E-Mails. Ich muss feststellen, welche Dateien komprimiert sind, diese dekomprimieren und alle Dateien in eine gemeinsame Erweiterung umbenennen, sobald alle komprimierten Dateien dekomprimiert sind. Ich habe festgestellt, dass ich mit dem Befehl file bestimmen kann, welche komprimiert werden sollen, dann die Ergebnisse sed
abrufen und die Ausgabe auf eine Liste von Dateien reduzieren kann, aber nicht bestimmen kann, wie die scheinbar zufälligen Erweiterungen dekomprimiert werden sollen. Folgendes habe ich bisher
file *|grep gzip| sed -e 's/: .*$//g'
Ich möchte xargs
oder etwas verwenden, um die Liste der in der Ausgabe bereitgestellten Dateien zu übernehmen und sie entweder umzubenennen, .gz
damit sie dekomprimiert werden können, oder sie einfach inline zu dekomprimieren.