Jak wykonać operacje na plikach znalezionych poleceniem find

Opisane ostatnio Linuxowe polecenie find doskonale nadaje się do wyszukiwania plików o konkretnych własnościach. Zatem wykonywanie rozmaitych operacji na znalezionych plikach wydaje się kolejnym krokiem.

W tym celu wystarczy skorzystać z komendy xargs i przekazać do niej polecenie jakie ma być wykonane. Działanie xargs najlepiej zilustruje kilka przykładów.

Gdy istnieje ryzyko pojawienia się spacji lub znaków końca linii w wynikach polecenia find trzeba dodać doń parametr -print0, a do xargs -0.
#Odszukanie elementów których właścicielem jest franciszek w aktualnym katalogu i usunięcie ich
radek@centos.local:~$ find -user franciszek | xargs rm
#Analogiczna sytuacja ale istnieje ryzyko pojawienia się spacji, znaków końca linii i innych w ścieżce lub nazwie pliku
radek@centos.local:~$ find -user franciszek -print0 | xargs -0 rm
#Wypisanie wszystkich elementów z uprawnieniami 777 i ich zmiana na 640
radek@centos.local:~$ sudo find / -perm 0777 | xargs chmod 640

Skomentuj