ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] Помогите избавться от bashisma
@ 2006-12-01 21:16 Vadim V. Zhytnikov
  2006-12-02  6:10 ` Ildar Mulyukov
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Vadim V. Zhytnikov @ 2006-12-01 21:16 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

Есть простя задачка. Из набора *.texi файлов выделить те, которые
(1) содержат символы табуляции
(2) имеют строки с DOS-овскими окончаниями строк

Для этого я использовал следующие команды
    bad_files1=`find . -name '*.texi' -print | xargs grep -l $'\t'`
    bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\x0D$'`
Но выяснилось, что конструкции  вида $'\t' и $'\x0D$' , повидимому,
являются bash-специфичными и скрипт не срабатывает.
Например они точно не работают в стандартном шелле на Солярке.
В bash на той же самой Солярке всё срабатывает замечательно.

Ну и собственно вопрос - чем можно заменить этот bashism,
чтобы сделать скрипт переноносимым?


-- 
      Vadim V. Zhytnikov

       <vvzhy@mail.ru>
      <vvzhy@netorn.ru>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [sisyphus] Помогите избавться от bashisma
  2006-12-01 21:16 [sisyphus] Помогите избавться от bashisma Vadim V. Zhytnikov
@ 2006-12-02  6:10 ` Ildar Mulyukov
  2006-12-02  7:14   ` Vadim V. Zhytnikov
  2006-12-02  6:35 ` Вадим Илларионов
  2006-12-03 11:38 ` Fr. Br. George
  2 siblings, 1 reply; 9+ messages in thread
From: Ildar Mulyukov @ 2006-12-02  6:10 UTC (permalink / raw)
  To: sisyphus

использовать printf ?

Ильдар.

On 02.12.2006 03:16:38, Vadim V. Zhytnikov wrote:
> Есть простя задачка. Из набора *.texi файлов выделить те, которые
> (1) содержат символы табуляции
> (2) имеют строки с DOS-овскими окончаниями строк
> 
> Для этого я использовал следующие команды
>     bad_files1=`find . -name '*.texi' -print | xargs grep -l $'\t'`
>     bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\x0D$'`
> Но выяснилось, что конструкции  вида $'\t' и $'\x0D$' , повидимому,
> являются bash-специфичными и скрипт не срабатывает.
> Например они точно не работают в стандартном шелле на Солярке.
> В bash на той же самой Солярке всё срабатывает замечательно.
> 
> Ну и собственно вопрос - чем можно заменить этот bashism,
> чтобы сделать скрипт переноносимым?

-- 
Ildar  Mulyukov,  free SW designer/programmer/packager
=========================================
email: ildar@altlinux.ru
ALT Linux Sisyphus http://www.sisyphus.ru
=========================================


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [sisyphus] Помогите избавться от bashisma
  2006-12-01 21:16 [sisyphus] Помогите избавться от bashisma Vadim V. Zhytnikov
  2006-12-02  6:10 ` Ildar Mulyukov
@ 2006-12-02  6:35 ` Вадим Илларионов
  2006-12-02  7:09   ` Vadim V. Zhytnikov
  2006-12-03 11:38 ` Fr. Br. George
  2 siblings, 1 reply; 9+ messages in thread
From: Вадим Илларионов @ 2006-12-02  6:35 UTC (permalink / raw)
  To: sisyphus

Vadim V. Zhytnikov wrote:
>bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\x0D$'`
bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\r'`
Как-то читабельней, что ли.
________________________
С уважением,
Вадим Илларионов
системный администратор
Усолье-Сибирский почтамт
JID: см. <mailto:>
UIN: 7899517
Телефоны:
Мобильный +7 904 658-4154
Рабочий   +7 39543 444-00



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [sisyphus] Помогите избавться от bashisma
  2006-12-02  6:35 ` Вадим Илларионов
@ 2006-12-02  7:09   ` Vadim V. Zhytnikov
  2006-12-02 12:27     ` Yura Kalinichenko
  0 siblings, 1 reply; 9+ messages in thread
From: Vadim V. Zhytnikov @ 2006-12-02  7:09 UTC (permalink / raw)
  To: master, ALT Linux Sisyphus discussion list

Вадим Илларионов пишет:
> Vadim V. Zhytnikov wrote:
>> bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\x0D$'`
> bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\r'`
> Как-то читабельней, что ли.
Да! Но, к сожалению, главную проблему не решает.


-- 
      Vadim V. Zhytnikov

       <vvzhy@mail.ru>
      <vvzhy@netorn.ru>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [sisyphus] Помогите избавться от bashisma
  2006-12-02  6:10 ` Ildar Mulyukov
@ 2006-12-02  7:14   ` Vadim V. Zhytnikov
  0 siblings, 0 replies; 9+ messages in thread
From: Vadim V. Zhytnikov @ 2006-12-02  7:14 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

Ildar Mulyukov пишет:
> использовать printf ?
> 
Да, это то, что нужно.  Правда остаётся вопрос -
насколько сама команда printf переносима.


-- 
      Vadim V. Zhytnikov

       <vvzhy@mail.ru>
      <vvzhy@netorn.ru>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [sisyphus] Помогите избавться от bashisma
  2006-12-02  7:09   ` Vadim V. Zhytnikov
@ 2006-12-02 12:27     ` Yura Kalinichenko
  2006-12-02 16:12       ` Vadim V. Zhytnikov
  0 siblings, 1 reply; 9+ messages in thread
From: Yura Kalinichenko @ 2006-12-02 12:27 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

Vadim V. Zhytnikov пишет:
> Вадим Илларионов пишет:
>   
>> Vadim V. Zhytnikov wrote:
>>     
>>> bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\x0D$'`
>>>       
>> bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\r'`
>> Как-то читабельней, что ли.
>>     
> Да! Но, к сожалению, главную проблему не решает.
>
>
>   
А echo -e   вроде  должно работать  во всех системах ?

-- 

 Yura Kalinichenko



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [sisyphus] Помогите избавться от bashisma
  2006-12-02 12:27     ` Yura Kalinichenko
@ 2006-12-02 16:12       ` Vadim V. Zhytnikov
  0 siblings, 0 replies; 9+ messages in thread
From: Vadim V. Zhytnikov @ 2006-12-02 16:12 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

Yura Kalinichenko пишет:
> Vadim V. Zhytnikov пишет:
>> Вадим Илларионов пишет:
>>   
>>> Vadim V. Zhytnikov wrote:
>>>     
>>>> bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\x0D$'`
>>>>       
>>> bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\r'`
>>> Как-то читабельней, что ли.
>>>     
>> Да! Но, к сожалению, главную проблему не решает.
>>
>>
>>   
> А echo -e   вроде  должно работать  во всех системах ?
> 
Хотел бы я знать!  Вот
http://www.gnu.org/software/autoconf/manual/html_node/Limitations-of-Builtins.html
как-то очень пессимистически пишет об echo.


-- 
      Vadim V. Zhytnikov

       <vvzhy@mail.ru>
      <vvzhy@netorn.ru>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [sisyphus] Помогите избавться от bashisma
  2006-12-01 21:16 [sisyphus] Помогите избавться от bashisma Vadim V. Zhytnikov
  2006-12-02  6:10 ` Ildar Mulyukov
  2006-12-02  6:35 ` Вадим Илларионов
@ 2006-12-03 11:38 ` Fr. Br. George
  2006-12-03 12:03   ` Vadim V. Zhytnikov
  2 siblings, 1 reply; 9+ messages in thread
From: Fr. Br. George @ 2006-12-03 11:38 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

On Sat, Dec 02, 2006 at 12:16:38AM +0300, Vadim V. Zhytnikov wrote:
> Есть простя задачка. Из набора *.texi файлов выделить те, которые
> (1) содержат символы табуляции
> (2) имеют строки с DOS-овскими окончаниями строк
> 
> Для этого я использовал следующие команды
>     bad_files1=`find . -name '*.texi' -print | xargs grep -l $'\t'`
>     bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\x0D$'`
> Ну и собственно вопрос - чем можно заменить этот bashism,
> чтобы сделать скрипт переноносимым?
Да я просто заменил на соответствующие символы! В vim-е, например,
вместо $'\t' можно написать '^V<Tab>', где ^V -- это ctrl+v, а <Tab> --
это клавиша такая :). То же и $'\r$' -- '^V^M$'.

-- 
			George V. Kouryachy (aka Fr. Br. George)
			mailto:george at altlinux_ru


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [sisyphus] Помогите избавться от bashisma
  2006-12-03 11:38 ` Fr. Br. George
@ 2006-12-03 12:03   ` Vadim V. Zhytnikov
  0 siblings, 0 replies; 9+ messages in thread
From: Vadim V. Zhytnikov @ 2006-12-03 12:03 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

Fr. Br. George пишет:
> On Sat, Dec 02, 2006 at 12:16:38AM +0300, Vadim V. Zhytnikov wrote:
>> Есть простя задачка. Из набора *.texi файлов выделить те, которые
>> (1) содержат символы табуляции
>> (2) имеют строки с DOS-овскими окончаниями строк
>>
>> Для этого я использовал следующие команды
>>     bad_files1=`find . -name '*.texi' -print | xargs grep -l $'\t'`
>>     bad_files2=`find . -name '*.texi' -print | xargs grep -l $'\x0D$'`
>> Ну и собственно вопрос - чем можно заменить этот bashism,
>> чтобы сделать скрипт переноносимым?
> Да я просто заменил на соответствующие символы! В vim-е, например,
> вместо $'\t' можно написать '^V<Tab>', где ^V -- это ctrl+v, а <Tab> --
> это клавиша такая :). То же и $'\r$' -- '^V^M$'.
> 
Да, так тоже можно.  Просто не хотелось держать не-ASCII символы
в Makefile.am. Я уже потом сообразил, что этого можно избежать
поместив шаблоны поиска, т.е. ети самые ^V<Tab> и ^V^M, в отдельные
маленькие файлы и использовать grep с ключем -f.

-- 
      Vadim V. Zhytnikov

       <vvzhy@mail.ru>
      <vvzhy@netorn.ru>


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2006-12-03 12:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-01 21:16 [sisyphus] Помогите избавться от bashisma Vadim V. Zhytnikov
2006-12-02  6:10 ` Ildar Mulyukov
2006-12-02  7:14   ` Vadim V. Zhytnikov
2006-12-02  6:35 ` Вадим Илларионов
2006-12-02  7:09   ` Vadim V. Zhytnikov
2006-12-02 12:27     ` Yura Kalinichenko
2006-12-02 16:12       ` Vadim V. Zhytnikov
2006-12-03 11:38 ` Fr. Br. George
2006-12-03 12:03   ` Vadim V. Zhytnikov

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/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 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git