Есть строка:
find /home/User/Music -name "*.wav" | while read a; do lame -m j -q 0 -b 256 --cbr "$a" <(sed 's/.wav/.mp3/' "$a"); done
Чего хочу, думаю, понятно. Ж;-) Однако в таком виде работает примерно так:
Encoding /home/User/Music/Some Album/01 Some Song.wav
to /proc/self/fd/63
что не совсем то, что хотелось бы...
Если переформатировать в вид без кавычек вокруг строковой переменной, передаваемой sed:
find /home/User/Music -name "*.wav" | while read a; do lame -m j -q 0 -b 256 --cbr "$a" <(sed 's/.wav/.mp3/' $a); done
То "работает" немного по-другому:
sed: can't read /home/User/Music/Some: No such file or directory
sed: can't read Album/01: No such file or directory
sed: can't read Some: No such file or directory
sed: can't read Song.wav: No such file or directory
Can't init outfile '/proc/self/fd/63'
...
Encoding /home/User/Music/Some Album/01 Some Song.wav
to /proc/self/fd/63
Вопрос: как передать в таком варианте для sed именно всю строку, полученную из find? Где я что неправильно понимаю про переменные, перенаправления вывода и т.п.?