Załóżmy, że mam dwa zestawy plików foo_A_uid.bar
i foo_B_uid.bar
. Każdy zestaw zawiera (znaną) liczbę plików. Teraz chcę przetworzyć odpowiednie pary za pomocą jakiegoś narzędzia ( ImageMagick
w moim przypadku), to chcę uciekać some_command foo_A_i.bar foo_B_i.bar out_i.bar
, gdzie out_i.bar
jest wynikiem / wynikiem podczas uruchamiania narzędzia na parze foo_A_i.bar
i foo_B_i.bar
dla niektórych naprawione i
.
Moje pytanie brzmi: jak mogę wsadować ten proces? Trochę python
, bash
scenariusz?
Wyjaśnienie: Przez zbiór plików rozumiem listę plików, wszystkie zaczynają się od tego samego początkowego, potem trochę UID i mają to samo rozszerzenie. To zatrzymanie dla obu zestawów wejściowych i wyjścia.
.png
w moim przypadku.Odpowiedzi:
Oto możliwe rozwiązanie, które działa, chociaż nie wiem, czy jest dobre.
Uruchamianie powinno wyglądać następująco:
źródło
Zakładając, że oba pliki są posortowane, linia licząca pobiera liczbę linii w pliku a. Następnie pętla przechodzi przez wszystkie wartości z 1..count. Zmienna count zawiera nazwę pliku, który jest odcięty
${count/ */}
. Z sed otrzymujesz tę samą linię z obu plików. -n oznacza „brak drukowania domyślnie”, $ wiersz „p” będzie wtedy po prostu drukować linię $ wiersz.źródło