LINUX.ORG.RU

Вопрос про команду find...


0

0

Хотел с помощью неё скопировать из одной директории файлы только с определенными расширениями в другую директорию. Команду составил такую:
find ./ -type f -iname «*.it» -or -iname «*.mod» -or -iname «*.s3m» -or -iname «*.xm» -exec cp --parents «{}» ~/TMP/Audio/Modules/ \;

Но скопировались только файлы *.xm . ЧЯДНТ?

find ./ -type f -iname "*.it" -exec cp --parents "{}" ~/TMP/Audio/Modules/ \; -or -iname "*.mod" -exec cp --parents "{}" ~/TMP/Audio/Modules/ \; -or -iname "*.s3m" -exec cp --parents "{}" ~/TMP/Audio/Modules/ \; -or -iname "*.xm" -exec cp --parents "{}" ~/TMP/Audio/Modules/ \;

Так работать должно.

GotF ★★★★★
()

firestarter> \( -iname «*.it» -or -iname «*.mod» -or -iname «*.s3m» -or -iname «*.xm» \)

Условие в скобках должно быть

sdio ★★★★★
()
Ответ на: комментарий от sdio

>Условие в скобках должно быть

Во, большое спасибо.

firestarter ★★★☆
() автор топика
Ответ на: ежели bash от nanoo_linux

> cp *.{it,mod,s3m,xm} ~/TMP/Audio/Modules/

Там многоуровневые вложенные каталоги.

firestarter ★★★☆
() автор топика
Ответ на: комментарий от anonymous

> find ~ -name *.h -o -name *.cpp -o -name *.ui -o -name *.pro

Так -o это почти тоже что и -or, не? Наверное результат был бы такой же. Скобки, как подсказал sdio, помогли.

firestarter ★★★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.