Archiwa tagu: xargs

[bash]Rekursywna zmiana rozszerzeń plików.

Załóżmy, że mamy dużo plików o jakimś tam rozszerzeniu rozsianych w dużej ilości katalogów.
I chcemy tym wszystkim plikom zmienić rozszerzenie na jakieś inne.
np
test/bb/plik2.jpeg
test/cc/plik4.jpeg
test/cc/plik3.jpeg
test/cc/plik5.jpeg
test/aa/plik.jpeg
test/aa/dd/plik7.jpeg

chcemy te pliki. jpeg zmienić na .jpg

Rozwiązanie:
find test -name *.jpeg | awk -F '.' '{OFS=FS;var=$0;$(NF)="";print var" "$0"jpg"}' | xargs -n 2 mv

rm z pipe’m, czyli jak posprzątać po przypadkowym wypakowaniu archiwum nie tam gdzie się chciało

Czasem w ramach roztargnienia zdarza się nam narozrabiać. Ja dzisiaj rozpakowałem sobie archiwum w miejsce, w którym mam sporo innych plików… Zrobił się konkretny bajzel, także trzeba było posprzątać.

Pierwsze co mi przyszło do głowy, to wyświetlić zawartość archiwum, użyć | rm -rf i tyle, ale okazuje się, że nie da się tak przekazać listy plików do rm i koniec. Jak zawsze z pomocą przyszedł Pan Gugiel, a właściwe rozwiązanie problemu to:

tar -tf nazwaarchiwum.tar | xargs rm -f

Proste.