Ви пропустили a ;
в кінці (і пробіл теж між {}
і ;
). Правильна команда:
find . -type f -name "IMAG1806.jpg" -exec rm -f {} \;
;
вказує на закінчення -exec
присудка find
.
Також зауважте, що ми використовували, \;
тобто \
перед тим, ;
щоб уникнути інтерпретації ;
оболонки, інакше оболонка буде розглядатись ;
як кінець всієї find
команди і find
видасть ту саму помилку. Ви також можете використовувати ';'
замість \;
.
Ви використовували \
в кінці, це вказує, що ваша оболонка буде продовжувати приймати вхід через PS2
(позначено >
), ви IMAG1806.jpg
знову набрали текст , тому вся команда стає:
find . -type f -name "IMAG1806.jpg" -exec rm -f {}IMAG1806.jpg
Як ви бачите, це зовсім не дійсна команда з IMAG1806.jpg
кінцем, без закриття -exec
предиката та без пробілу між {}
і \;
.
rm "IMAG1806.jpg"
? Це в одному каталозі, тож ви знаєте, як воно називається.