разве while отменяется? (для меня -это потрясение(основ))

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
trendix
Сообщения: 250
Статус: кромешный
ОС: debian

разве while отменяется?

Сообщение trendix »

kubuntu 8.04.1
flac 1.2.1
В каталоге есть 3 файла .wav и скрипт:
ls -1 *.wav | while read i
do
flac --best *.wav
done
,который перекодирует в первой серии все 3 файла успешно и пытается начать перекодирование еще 2 раза с ошибкой.
Изменил скрипт :
ls -1 *.wav | flac --best *.wav
перекодировал все 3 файла и успешно завершился.
Разве flac может вызывать сам себя.?
Подскажите ,в чем ошибка в первоначальном скрипте,для меня это важно как для начинающего.
Куда все пропали?? Да и кушать хочется!!
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: разве while отменяется?

Сообщение diesel »

Код: Выделить всё

ls -1 *.wav | while read i
do
flac --best $i
done

поправьте пожалуйста заголовок темы, не знаю что вы хотели сказать вместо того что сказали
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: разве while отменяется?

Сообщение drBatty »

trendix писал(а):
30.09.2009 22:46
,который перекодирует в первой серии все 3 файла успешно и пытается начать перекодирование еще 2 раза с ошибкой.

ls -1 *.wav | while read i
do
flac --best *.wav
done

это разворачивается шелом в:

Код: Выделить всё

ls 1.wav 2.wav 3.wav | while read i
do
flac --best 1.wav 2.wav 3.wav
done

Как правильно указал diesel, надо юзать переменную для передачи параметра.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
sendmoreinfo
Сообщения: 50

Re: разве while отменяется?

Сообщение sendmoreinfo »

можно и так:

for m in *.wav; do flac --best $m; done
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: разве while отменяется?

Сообщение drBatty »

а можно и так:

Код: Выделить всё

ls *.wav | sed 's/.*/flac "&"/ep'
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
lava
Сообщения: 155
ОС: archer

Re: разве while отменяется?

Сообщение lava »

Насколько я понял, достаточно вот так:

Код: Выделить всё

flac --best *.wav


И не нужны вообще никакие циклы.
Usage:

Encoding: flac [<general-options>] [<encoding/format-options>] [INPUTFILE [...]]


[INPUTFILE [...]] - у него есть внутренний цикл по переданным параметрам и он отлично жуёт несколько файлов в одной строке. Поэтому скрипты топик-стартера нормально отработали.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3058
ОС: Gentoo

Re: разве while отменяется?

Сообщение ormorph »

Если принципиально нужен цикл тогда уж смотреть код от sendmoreinfo и diesel тока переменную лучше заключить в кавычки, на случай если файлы содержат пробелы в названии.
пример:

Код: Выделить всё

ls -1 *.wav | while read i
do
flac --best "$i"
done
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: разве while отменяется?

Сообщение drBatty »

lava писал(а):
25.10.2009 09:07
И не нужны вообще никакие циклы.

здесь - не нужно. но иногда надо, например для переименования тех-же треков из cp1251.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
trendix
Сообщения: 250
Статус: кромешный
ОС: debian

Re: разве while отменяется?

Сообщение trendix »

Меня потрясло сколько возможностей предоставляет bash ,почти как в русском языке.
О,великий и могучий bash,я буду верен тебе до конца.
Огромное всем спасибо.Продолжу вникновение.
Куда все пропали?? Да и кушать хочется!!
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: разве while отменяется?

Сообщение drBatty »

trendix писал(а):
29.10.2009 21:44
Меня потрясло сколько возможностей предоставляет bash

это не баш, это Linux.
вот ещё что не охватили(вроде):

Код: Выделить всё

find . -iname "*.wav" -exec flac {} \;
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: разве while отменяется?

Сообщение sash-kan »

drBatty писал(а):
30.10.2009 00:22
это не баш, это Linux
а linux-то тут каким боком?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: разве while отменяется?

Сообщение drBatty »

sash-kan писал(а):
04.11.2009 20:43
drBatty писал(а):
30.10.2009 00:22
это не баш, это Linux
а linux-то тут каким боком?

да тут как-бы всё из core utils. а они сами по себе к bash не имеют отношения: разве find в zsh работает по другому?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: разве while отменяется?

Сообщение watashiwa_daredeska »

drBatty писал(а):
05.03.2010 19:05
sash-kan писал(а):
04.11.2009 20:43
а linux-то тут каким боком?

да тут как-бы всё из core utils. а они сами по себе к bash не имеют отношения
[offtopic]Они как-бы и к Linux не имеют отношения, я их, помнится, и под AIX себе в $HOME собирал. Это GNU Operating System и GNU/Linux в частности. :)[offtopic]
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: разве while отменяется?

Сообщение drBatty »

watashiwa_darede... писал(а):
05.03.2010 19:28
Они как-бы и к Linux не имеют отношения, я их, помнится, и под AIX себе в $HOME собирал. Это GNU Operating System и GNU/Linux в частности.

да, согласен. явление за рамками и bash'а и Linux'а :)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: