LINUX.ORG.RU

История изменений

Исправление Xintrea, (текущая версия) :

Ага, нашел в чем была проблема.

Оказывается, -print0 применяется только к минимальной части составного условия, а не ко всей команде find. Что весьма неожиданно. Как применить ко всей команде - так и не понял.

Но зато зная эту особенность, можно написать правильно работающий скрипт:

#!/bin/bash

find -name \*.mp3 -print0 \
     -or -name \*.MP3 -print0 \
     -or -name \*.Mp3 -print0 \
     -or -name \*.ogg -print0 \
     | while IFS= read -r -d '' file; 
do

    echo "Processing ${file}"
 
done

Исходная версия Xintrea, :

Ага, нашел решение.

Оказывается, -print0 применяется только к минимальной части составного условия, а не ко всей команде find. Что весьма неожиданно. Как применить ко всей команде - так и не понял.

Но зато зная эту особенность, можно написать правильно работающий скрипт:

#!/bin/bash

find -name \*.mp3 -print0 \
     -or -name \*.MP3 -print0 \
     -or -name \*.Mp3 -print0 \
     -or -name \*.ogg -print0 \
     | while IFS= read -r -d '' file; 
do

    echo "Processing ${file}"
 
done