<Poprzedni | Spis treści | Następne>
Akcje zdefiniowane przez użytkownika
Oprócz predefiniowanych akcji możemy również wywołać dowolne polecenia. Tradycyjnym sposobem na to jest użycie -Exec akcja. Ta akcja działa w ten sposób:
-Exec komenda {} ;
gdzie komenda jest nazwą polecenia, {} jest symboliczną reprezentacją bieżącej ścieżki, a średnik jest wymaganym ogranicznikiem wskazującym koniec polecenia. Oto przykład użycia -Exec zachowywać się jak -kasować działanie omówione wcześniej:
-exec rm '{}' ';'
-exec rm '{}' ';'
Ponownie, ponieważ znaki nawiasu klamrowego i średnika mają specjalne znaczenie dla powłoki, należy je umieścić w cudzysłowie lub zastąpić znakiem ucieczki.
Możliwe jest również wykonanie akcji zdefiniowanej przez użytkownika interaktywnie. Za pomocą -w porządku działanie zamiast -Exec, użytkownik jest proszony o podanie informacji przed wykonaniem każdego określonego polecenia:
znajdź ~ -type f -name 'foo*' -ok ls -l '{}' ';'
< ls ... /home/me/bin/foo > ? y
-rwxr-xr-x 1 ja ja 224 2007-10-29 18:44 /home/ja/bin/foo
< ls ... /home/me/foo.txt > ? y
-rw-r--r-- 1 ja ja 0 2016-09-19 12:53 /home/ja/foo.txt
znajdź ~ -type f -name 'foo*' -ok ls -l '{}' ';'
< ls ... /home/me/bin/foo > ? y
-rwxr-xr-x 1 ja ja 224 2007-10-29 18:44 /home/ja/bin/foo
< ls ... /home/me/foo.txt > ? y
-rw-r--r-- 1 ja ja 0 2016-09-19 12:53 /home/ja/foo.txt
W tym przykładzie wyszukujemy pliki, których nazwy zaczynają się od ciągu „foo” i wykonujemy polecenie ls -l za każdym razem, gdy zostanie znaleziony. Używając -w porządku akcja wyświetla użytkownikowi monit przed ls wykonywane jest polecenie.
Dokumenty