* [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 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-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