ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [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