История изменений
Исправление CrX, (текущая версия) :
Использование символов «\» в местах переноса строки не помогает.
Почему \
? Попробуй \n
. Ну и присоединяюсь к вопросу выше.
По основному вопросу: может тебе лучше просто в find задать путь, причём абсолютный на всякий случай?
Вместо этого:
find \( -name \*.mp3 \
-or -name \*.MP3 \
-or -name \*.Mp3 \
-or -name \*.ogg \
\) -print0 \
| while IFS= read -r -d '' file;
Это:
find "$(pwd)" \( -iname \*.mp3 -or -name \*.ogg \) -print0 \
| while IFS= read -r -d '' file; do
И оно заработает в изначальном варианте, без путаницы с путями.
P.S. fileWithoutExt="${file%.*}"
— спасибо за наглядный пример бесполезного использования переменных. Это примерно как X_PLUS_ONE = x + 1
, чтобы использовать потом один раз, только менее избито.
P.P.S. В примере выше есть небольшое отличие в функционале от твоего, помимо перечисленных оно ещё и *.mP3 тоже найдёт, если таковые есть. Если это не желаемое поведение, перепиши эту -or’ную часть обратно.
Исправление CrX, :
Использование символов «\» в местах переноса строки не помогает.
Почему \
? Попробуй \n
. Ну и присоединяюсь к вопросу выше.
По основному вопросу: может тебе лучше просто в find задать путь, причём абсолютный на всякий случай?
Вместо этого:
find \( -name \*.mp3 \
-or -name \*.MP3 \
-or -name \*.Mp3 \
-or -name \*.ogg \
\) -print0 \
| while IFS= read -r -d '' file;
Это:
find "$(pwd)" \( -iname \*.mp3 -or -name \*.ogg \) -print0 \
| while IFS= read -r -d '' file; do
И оно заработает в изначальном варианте, без путаницы с путями.
P.S. fileWithoutExt="${file%.*}"
— спасибо за наглядный пример бесполезного использования переменных. Это примерно как X_PLUS_ONE = x + 1
, чтобы использовать потом один раз, только менее избито.
Исходная версия CrX, :
Использование символов «\» в местах переноса строки не помогает.
Почему \
? Попробуй \n
. Ну и присоединяюсь к вопросу выше.
По основному вопросу: может тебе лучше просто в find задать путь, причём абсолютный на всякий случай?
Вместо этого:
find \( -name \*.mp3 \
-or -name \*.MP3 \
-or -name \*.Mp3 \
-or -name \*.ogg \
\) -print0 \
| while IFS= read -r -d '' file;
Это:
find "$(pwd)" \( -iname \*.mp3 -or -name \*.ogg \) -print0 \
| while IFS= read -r -d '' file; do
И оно заработает в изначальном варианте, без путаницы с путями.