* [Comm] три вопроса по bash
@ 2004-04-09 6:56 pioneer
2004-04-09 7:28 ` [Comm] Q: To bash or not to bash (was: три вопроса по bash) Alexey Morozov
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: pioneer @ 2004-04-09 6:56 UTC (permalink / raw)
To: community
У меня возникли вопросы - моих скудных знаний не хватает. Не поможете
ли, народ?
Вопрос 1.
Имеется файл-список с неким перечнем файлов, по одному в каждой строчке.
Хочется над каждым из этих файлов провести операцию - выполнить
некую программу:
someprogram /path/to/file
Вопрос 2.
Весь вывод предыдущей операции (как stdout, так и stderr) вывести как
на экран, так и в какой-нибудь лог-файл.
Вопрос 3.
Вопрос 3 есть усложнение задачи вопроса 1. С целью повышения удобства
хочется отфильтровать из вышеупомянутого файла-списка строчки,
начинающиеся на символ комментария #.
Спасибо народу заранее.
--
Sergiy A. Puziy
IT Division
The State Commission on Regulation of
Financial Services Markets of Ukraine
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Comm] Q: To bash or not to bash (was: три вопроса по bash)
2004-04-09 6:56 [Comm] три вопроса по bash pioneer
@ 2004-04-09 7:28 ` Alexey Morozov
2004-04-09 8:26 ` Alexander Leschinsky
2004-04-09 9:02 ` Alexey I. Froloff
2004-04-09 7:33 ` [Comm] три вопроса по bash Artem K. Jouravsky
2004-04-09 7:38 ` Maxim Tyurin
2 siblings, 2 replies; 11+ messages in thread
From: Alexey Morozov @ 2004-04-09 7:28 UTC (permalink / raw)
To: community
On Fri, Apr 09, 2004 at 09:56:33AM +0300, pioneer@bigmir.net wrote:
> Вопрос 1.
> Имеется файл-список с неким перечнем файлов, по одному в каждой строчке.
> Хочется над каждым из этих файлов провести операцию - выполнить
> некую программу:
> someprogram /path/to/file
man xargs
> Вопрос 2.
> Весь вывод предыдущей операции (как stdout, так и stderr) вывести как
> на экран, так и в какой-нибудь лог-файл.
man bash, глава REDIRECTIONS
> Вопрос 3.
> Вопрос 3 есть усложнение задачи вопроса 1. С целью повышения удобства
> хочется отфильтровать из вышеупомянутого файла-списка строчки,
> начинающиеся на символ комментария #.
man sed
> Спасибо народу заранее.
<offtopic>
В принципе, для всех трех задач хватает pure bash. Списки там есть,
фильтрацию можно осуществить средствами Parameter Expansion, на худой
конец, и вообще, если приноровиться, можно о-го-го чего наворотить.
У меня есть пара примеров такого state of the art.
Но, таки охота делать прямые вещи прямо :-)).
2All: будет у нас в base system или около того какой-либо приемлемый
"настоящий" язычок программирования? Я не настаиваю на perl/python,
но текущий выбор между C[с крестами] и bash обескураживает
</offtopic>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] три вопроса по bash
2004-04-09 6:56 [Comm] три вопроса по bash pioneer
2004-04-09 7:28 ` [Comm] Q: To bash or not to bash (was: три вопроса по bash) Alexey Morozov
@ 2004-04-09 7:33 ` Artem K. Jouravsky
2004-04-09 8:22 ` Re[2]: " Alexander Leschinsky
2004-04-09 7:38 ` Maxim Tyurin
2 siblings, 1 reply; 11+ messages in thread
From: Artem K. Jouravsky @ 2004-04-09 7:33 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 859 bytes --]
On Fri, Apr 09, 2004 at 09:56:33AM +0300, pioneer@bigmir.net wrote:
> Вопрос 1.
> Имеется файл-список с неким перечнем файлов, по одному в каждой строчке.
> Хочется над каждым из этих файлов провести операцию - выполнить
> некую программу:
> someprogram /path/to/file
for i in `cat /path/to/file`;do command1; command2; done
> Вопрос 2.
> Весь вывод предыдущей операции (как stdout, так и stderr) вывести как
> на экран, так и в какой-нибудь лог-файл.
см. tee(1)
> Вопрос 3.
> Вопрос 3 есть усложнение задачи вопроса 1. С целью повышения удобства
> хочется отфильтровать из вышеупомянутого файла-списка строчки,
> начинающиеся на символ комментария #.
for i in `grep '^[^#]' /path/to/file`;do command1; command2; done
--
С уважением,
Артём.
ЗАО "СЕМА.РУ"
************
"It's not just a computer -- it's your ass."
-- Cal Keegan
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] три вопроса по bash
2004-04-09 6:56 [Comm] три вопроса по bash pioneer
2004-04-09 7:28 ` [Comm] Q: To bash or not to bash (was: три вопроса по bash) Alexey Morozov
2004-04-09 7:33 ` [Comm] три вопроса по bash Artem K. Jouravsky
@ 2004-04-09 7:38 ` Maxim Tyurin
2004-04-09 10:10 ` [pioneer]
2 siblings, 1 reply; 11+ messages in thread
From: Maxim Tyurin @ 2004-04-09 7:38 UTC (permalink / raw)
To: community
pioneer@bigmir.net writes:
> У меня возникли вопросы - моих скудных знаний не хватает. Не поможете
> ли, народ?
>
> Вопрос 1.
> Имеется файл-список с неким перечнем файлов, по одному в каждой строчке.
> Хочется над каждым из этих файлов провести операцию - выполнить
> некую программу:
> someprogram /path/to/file
cat list_file| while read d; do someprogram $d; done
man вашшел
>
> Вопрос 2.
> Весь вывод предыдущей операции (как stdout, так и stderr) вывести как
> на экран, так и в какой-нибудь лог-файл.
man tee
> Вопрос 3.
> Вопрос 3 есть усложнение задачи вопроса 1. С целью повышения удобства
> хочется отфильтровать из вышеупомянутого файла-списка строчки,
> начинающиеся на символ комментария #.
man grep
--
With Best Regards, Maxim Tyurin
JID: MrKooll@jabber.pibhe.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re[2]: [Comm] три вопроса по bash
2004-04-09 7:33 ` [Comm] три вопроса по bash Artem K. Jouravsky
@ 2004-04-09 8:22 ` Alexander Leschinsky
0 siblings, 0 replies; 11+ messages in thread
From: Alexander Leschinsky @ 2004-04-09 8:22 UTC (permalink / raw)
To: Artem K. Jouravsky
Hello Artem,
On Fri, 9 Apr 2004 11:33:18 +0400 (09.04.2004 13:33 my local time),
received Friday, April 9, 2004 at 14:09:44,
you wrote about "[Comm] три вопроса по bash"
at least in part:
> for i in `grep '^[^#]'
grep -v ^#
тоже прокатит
--
Best regards,
Alexander Leschinsky
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] Q: To bash or not to bash (was: три вопроса по bash)
2004-04-09 7:28 ` [Comm] Q: To bash or not to bash (was: три вопроса по bash) Alexey Morozov
@ 2004-04-09 8:26 ` Alexander Leschinsky
2004-04-09 9:15 ` Alexey Morozov
2004-04-09 9:02 ` Alexey I. Froloff
1 sibling, 1 reply; 11+ messages in thread
From: Alexander Leschinsky @ 2004-04-09 8:26 UTC (permalink / raw)
To: Alexey Morozov
Hello Alexey,
On Fri, 9 Apr 2004 14:28:26 +0700 (09.04.2004 13:28 my local time),
received Friday, April 9, 2004 at 14:09:44,
you wrote about "[Comm] Q: To bash or not to bash (was: три вопроса по bash)"
at least in part:
> 2All: будет у нас в base system или около того какой-либо приемлемый
> "настоящий" язычок программирования? Я не настаиваю на perl/python,
> но текущий выбор между C[с крестами] и bash обескураживает
вообще-то описанные задачи _легко_ решает gawk, grep+gawk
и если перл, питон, ruby - не языки, то Вы меня извините, но... может Вы
не умеете "готовить мышей"?
--
Best regards,
Alexander Leschinsky
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] Q: To bash or not to bash (was: три вопроса по bash)
2004-04-09 7:28 ` [Comm] Q: To bash or not to bash (was: три вопроса по bash) Alexey Morozov
2004-04-09 8:26 ` Alexander Leschinsky
@ 2004-04-09 9:02 ` Alexey I. Froloff
2004-04-09 9:09 ` Alexey Morozov
1 sibling, 1 reply; 11+ messages in thread
From: Alexey I. Froloff @ 2004-04-09 9:02 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 440 bytes --]
* Alexey Morozov <alex-altlinux@idisys.iae.nsk.su> [040409 11:42]:
> 2All: будет у нас в base system или около того какой-либо приемлемый
> "настоящий" язычок программирования? Я не настаиваю на perl/python,
> но текущий выбор между C[с крестами] и bash обескураживает
А зачем он в _base system_?
--
Regards, Sir Raorn.
-------------------
различные дистрибутивы заинтересованы в различных пользователях.
-- at in community@
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] Q: To bash or not to bash (was: три вопроса по bash)
2004-04-09 9:02 ` Alexey I. Froloff
@ 2004-04-09 9:09 ` Alexey Morozov
0 siblings, 0 replies; 11+ messages in thread
From: Alexey Morozov @ 2004-04-09 9:09 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 688 bytes --]
On Fri, Apr 09, 2004 at 01:02:06PM +0400, Alexey I. Froloff wrote:
> * Alexey Morozov <alex-altlinux@idisys.iae.nsk.su> [040409 11:42]:
> > 2All: будет у нас в base system или около того какой-либо приемлемый
> > "настоящий" язычок программирования? Я не настаиваю на perl/python,
> > но текущий выбор между C[с крестами] и bash обескураживает
> А зачем он в _base system_?
А затем, чтобы быть точно уверенным, что, скажем, его можно
использовать, н-р, в системах, дергаемых из стартап-скриптов.
Или тот же updfstab, наконец, переписать. У меня есть замена
на pure bash, но она касается одного конкретного случая: USB устройств.
И, боюсь, не расширяема разумными по затратам средствами.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] Q: To bash or not to bash (was: три вопроса по bash)
2004-04-09 8:26 ` Alexander Leschinsky
@ 2004-04-09 9:15 ` Alexey Morozov
0 siblings, 0 replies; 11+ messages in thread
From: Alexey Morozov @ 2004-04-09 9:15 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 980 bytes --]
On Fri, Apr 09, 2004 at 02:26:27PM +0600, Alexander Leschinsky wrote:
> > 2All: будет у нас в base system или около того какой-либо приемлемый
> > "настоящий" язычок программирования? Я не настаиваю на perl/python,
> > но текущий выбор между C[с крестами] и bash обескураживает
> вообще-то описанные задачи _легко_ решает gawk, grep+gawk
А кто говорит про решение _описываемой_ задачи. Описанная задача, как я
уже говорил, решается на чистом bash, даже БЕЗ использования внешних
приложений ВООБЩЕ (ключевые слова, которыми пользоваться при решении
"в баше" я перечислил (man bash/Parameter Expansion/%%, declare -a
и т.п.)
> и если перл, питон, ruby - не языки,
И где они в base system? :-)
И, если Вы невнимательно прочитали, я совсем даже не возражаю ни против
perl, ни против питона, ни против любой другой разумной альтернативы им.
Помянутого вчера raorn'ом фортрана только не надо :-).
> то Вы меня извините, но... может Вы не умеете "готовить мышей"?
"Мышь - наше всё!".
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Re: [Comm] три вопроса по bash
2004-04-09 7:38 ` Maxim Tyurin
@ 2004-04-09 10:10 ` [pioneer]
2004-04-09 10:18 ` Alexey Morozov
0 siblings, 1 reply; 11+ messages in thread
From: [pioneer] @ 2004-04-09 10:10 UTC (permalink / raw)
To: community
>> У меня возникли вопросы - моих скудных знаний не хватает. Не поможете
>> ли, народ?
>> Вопрос 1.
>> Имеется файл-список с неким перечнем файлов, по одному в каждой строчке.
>> Хочется над каждым из этих файлов провести операцию - выполнить
>> некую программу:
>> someprogram /path/to/file
>> Вопрос 2.
>> Весь вывод предыдущей операции (как stdout, так и stderr) вывести как
>> на экран, так и в какой-нибудь лог-файл.
>> Вопрос 3.
>> Вопрос 3 есть усложнение задачи вопроса 1. С целью повышения удобства
>> хочется отфильтровать из вышеупомянутого файла-списка строчки,
>> начинающиеся на символ комментария #.
Я сделал так:
#!/bin/bash
FILELIST='~/filelist'
COMMAND='someprogram'
LOGFILE='~/someprogram.log'
{
grep '^[^#]' $FILELIST | while read i;
do $COMMAND $i;
done
} 2>1 | tee "$LOGFILE"
Мне в ответ выдается следующее:
tee: ~/someprogram.log: No such file or directory
Файл такой есть. Где грабли?
[pioneer]
"Oberezhno, ide strikha!" musical group
pioneer@bigmir.net
netmai
_______________________________________________________________
http://www.bigmir.net - поиск по украинским сайтам
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Re: [Comm] три вопроса по bash
2004-04-09 10:10 ` [pioneer]
@ 2004-04-09 10:18 ` Alexey Morozov
0 siblings, 0 replies; 11+ messages in thread
From: Alexey Morozov @ 2004-04-09 10:18 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 272 bytes --]
On Fri, Apr 09, 2004 at 01:10:15PM +0300, [pioneer] wrote:
> grep '^[^#]' $FILELIST | while read i;
Это плохая конструкция.
Как только FILELIST станет слишком большим, у Вас будут проблемы.
К тому же, если в FILELIST будут "нехорошие символы", то можно конкретно
огрести.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2004-04-09 10:18 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-04-09 6:56 [Comm] три вопроса по bash pioneer
2004-04-09 7:28 ` [Comm] Q: To bash or not to bash (was: три вопроса по bash) Alexey Morozov
2004-04-09 8:26 ` Alexander Leschinsky
2004-04-09 9:15 ` Alexey Morozov
2004-04-09 9:02 ` Alexey I. Froloff
2004-04-09 9:09 ` Alexey Morozov
2004-04-09 7:33 ` [Comm] три вопроса по bash Artem K. Jouravsky
2004-04-09 8:22 ` Re[2]: " Alexander Leschinsky
2004-04-09 7:38 ` Maxim Tyurin
2004-04-09 10:10 ` [pioneer]
2004-04-09 10:18 ` Alexey Morozov
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git