Ich habe eine große Textdatei in eine Reihe von kleineren Dateien für Leistungstests geteilt, die ich mache. Es gibt eine Reihe von Verzeichnissen wie folgt aus:Bash: Wie durchläuft man die Verzeichnisstruktur und führt Befehle aus?
/home/brianly/output-02 (contains 2 files myfile.chunk.00 and myfile.chunk.01)
/home/brianly/output-04 (contains 4 files...)
/home/brianly/output-06 (contains 6 files...)
Es ist wichtig zu beachten, dass es eine zunehmende Anzahl von Dateien in jedem Verzeichnis ist. Was ich tun muss, ist eine ausführbare Datei für jede der Textdateien in den Ausgabeverzeichnissen auszuführen. Der Befehl sieht ungefähr so gegen eine einzelne Datei:
./myexecutable -i /home/brianly/output-02/myfile.chunk.00 -o /home/brianly/output-02/myfile.chunk.00.processed
Hier wird der Parameter -i ist die Eingabedatei und Parameter -o ist die Ausgabestelle.
In C# würde ich über die Verzeichnisse durchlaufen die Liste der Dateien in jedem Ordner abrufen, dann durchlaufen Sie sie, um die Befehlszeilen auszuführen. Wie durchlaufe ich eine Verzeichnisstruktur wie diese mit bash und führe den Befehl mit den richtigen Parametern basierend auf dem Ort und den Dateien an diesem Ort aus?
dort zurück-Zecken vor finden und nach f – nikudesu
für x in $ (find/home/brianonly -type f); do ... done $() ist _so_ viel lesbarer als Back-Ticks. Mein $ .02. –
Ich denke, Ihr würde versuchen, die verarbeiteten Dateien zu verarbeiten. –