* [Comm] Как удалить пробелы
@ 2008-08-31 14:17 Kharitonov A. Dmitry
2008-08-31 14:25 ` Michael Holzman
` (2 more replies)
0 siblings, 3 replies; 19+ messages in thread
From: Kharitonov A. Dmitry @ 2008-08-31 14:17 UTC (permalink / raw)
To: community
Как удалить пробелы в начале строки?
Нужно для скрипта в bashe
Допустим
t=" 123 123 "
а в результате получилось бы
"123 123 "
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-08-31 14:17 [Comm] Как удалить пробелы Kharitonov A. Dmitry
@ 2008-08-31 14:25 ` Michael Holzman
2008-08-31 16:00 ` Yura Kalinichenko
2008-08-31 16:33 ` Kharitonov A. Dmitry
2008-08-31 18:21 ` Yuri Bushmelev
2008-09-01 3:27 ` Gleb Kulikov
2 siblings, 2 replies; 19+ messages in thread
From: Michael Holzman @ 2008-08-31 14:25 UTC (permalink / raw)
To: ALT Linux Community general discussions
2008/8/31 Kharitonov A. Dmitry <kharpost@rambler.ru>:
> Как удалить пробелы в начале строки?
> Нужно для скрипта в bashe
>
> Допустим
> t=" 123 123 "
> а в результате получилось бы
> "123 123 "
sed 's/^[ \t]*//'
Здесь (http://www-h.eng.cam.ac.uk/help/tpl/unix/sed.html) и другие примеры есть
--
Regards,
Michael Holzman
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-08-31 14:25 ` Michael Holzman
@ 2008-08-31 16:00 ` Yura Kalinichenko
2008-08-31 16:32 ` Kharitonov A. Dmitry
2008-09-01 13:19 ` Yury Aliaev
2008-08-31 16:33 ` Kharitonov A. Dmitry
1 sibling, 2 replies; 19+ messages in thread
From: Yura Kalinichenko @ 2008-08-31 16:00 UTC (permalink / raw)
To: ALT Linux Community general discussions
Michael Holzman пишет:
> 2008/8/31 Kharitonov A. Dmitry <kharpost@rambler.ru>:
>
>> Как удалить пробелы в начале строки?
>> Нужно для скрипта в bashe
>>
>> Допустим
>> t=" 123 123 "
>> а в результате получилось бы
>> "123 123 "
>>
> sed 's/^[ \t]*//'
>
Более кошерный вариант:
sed -e 's[[:space:]]*//g'
--
SY,
Yura Kalinichenko
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-08-31 16:00 ` Yura Kalinichenko
@ 2008-08-31 16:32 ` Kharitonov A. Dmitry
2008-09-01 13:19 ` Yury Aliaev
1 sibling, 0 replies; 19+ messages in thread
From: Kharitonov A. Dmitry @ 2008-08-31 16:32 UTC (permalink / raw)
To: ALT Linux Community general discussions
Yura Kalinichenko пишет:
> Michael Holzman пишет:
>> 2008/8/31 Kharitonov A. Dmitry <kharpost@rambler.ru>:
>>
>>> Как удалить пробелы в начале строки?
>>> Нужно для скрипта в bashe
>>>
>>> Допустим
>>> t=" 123 123 "
>>> а в результате получилось бы
>>> "123 123 "
>>>
>> sed 's/^[ \t]*//'
>>
> Более кошерный вариант:
>
> sed -e 's[[:space:]]*//g'
>
Спасибо, я применю
sed 's/^[[:space:]]\+//g;'
А нельзя ли это сделать с помощью подстановок? (bash)
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-08-31 14:25 ` Michael Holzman
2008-08-31 16:00 ` Yura Kalinichenko
@ 2008-08-31 16:33 ` Kharitonov A. Dmitry
2008-09-01 14:15 ` Slava Dubrovskiy
1 sibling, 1 reply; 19+ messages in thread
From: Kharitonov A. Dmitry @ 2008-08-31 16:33 UTC (permalink / raw)
To: ALT Linux Community general discussions
Michael Holzman пишет:
> 2008/8/31 Kharitonov A. Dmitry <kharpost@rambler.ru>:
>
>> Как удалить пробелы в начале строки?
>> Нужно для скрипта в bashe
>>
>> Допустим
>> t=" 123 123 "
>> а в результате получилось бы
>> "123 123 "
>>
> sed 's/^[ \t]*//'
>
> Здесь (http://www-h.eng.cam.ac.uk/help/tpl/unix/sed.html) и другие примеры есть
>
>
>
Спасибо! классная статейка, читал с удовольствием
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-08-31 14:17 [Comm] Как удалить пробелы Kharitonov A. Dmitry
2008-08-31 14:25 ` Michael Holzman
@ 2008-08-31 18:21 ` Yuri Bushmelev
2008-09-01 20:10 ` Michael Shigorin
2008-09-01 3:27 ` Gleb Kulikov
2 siblings, 1 reply; 19+ messages in thread
From: Yuri Bushmelev @ 2008-08-31 18:21 UTC (permalink / raw)
To: ALT Linux Community general discussions
В сообщении от Воскресенье 31 августа 2008 Kharitonov A. Dmitry написал(a):
> Как удалить пробелы в начале строки?
> Нужно для скрипта в bashe
>
> Допустим
> t=" 123 123 "
> а в результате получилось бы
> "123 123 "
a=" 123 "; b=${a##+( )}; echo "'$b'"
'123 '
Будет работать в bash. Для других шеллов не обещаю..
--
С уважением,
Бушмелев Юрий
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-08-31 14:17 [Comm] Как удалить пробелы Kharitonov A. Dmitry
2008-08-31 14:25 ` Michael Holzman
2008-08-31 18:21 ` Yuri Bushmelev
@ 2008-09-01 3:27 ` Gleb Kulikov
2008-09-01 3:53 ` Kharitonov A. Dmitry
2 siblings, 1 reply; 19+ messages in thread
From: Gleb Kulikov @ 2008-09-01 3:27 UTC (permalink / raw)
To: ALT Linux Community general discussions
In message [Воскресенье 31 августа 2008] from Kharitonov A. Dmitry was
written:
> Как удалить пробелы в начале строки?
> Нужно для скрипта в bashe
>
> Допустим
> t=" 123 123 "
> а в результате получилось бы
> "123 123 "
а может, без баша?
типа, t.lstrip() ?
просто не понимаю, так ли уж надо всё писать на баше, получая длинные,
плохочитабельные скрипты. К тому же дольше выполняющиеся, из-за частого
обращения ко всяким sed/awk.
--
Салют, /GLeb
UIN: 15341920
jabber://gleb@asd.iao.ru
sip://2387245@sipnet.ru (telephony)
skype://gleb_kulikov.tomsk (telephony)
sip://20000204@sip.pctel.ru (telephony)
netmail: 2:5005/78
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-09-01 3:27 ` Gleb Kulikov
@ 2008-09-01 3:53 ` Kharitonov A. Dmitry
2008-09-01 4:01 ` Denis Nazarov
2008-09-01 4:40 ` Gleb Kulikov
0 siblings, 2 replies; 19+ messages in thread
From: Kharitonov A. Dmitry @ 2008-09-01 3:53 UTC (permalink / raw)
To: ALT Linux Community general discussions
Gleb Kulikov пишет:
> In message [Воскресенье 31 августа 2008] from Kharitonov A. Dmitry was
> written:
>
>> Как удалить пробелы в начале строки?
>> Нужно для скрипта в bashe
>>
>> Допустим
>> t=" 123 123 "
>> а в результате получилось бы
>> "123 123 "
>>
>
> а может, без баша?
> типа, t.lstrip() ?
>
> просто не понимаю, так ли уж надо всё писать на баше, получая длинные,
> плохочитабельные скрипты. К тому же дольше выполняющиеся, из-за частого
> обращения ко всяким sed/awk.
>
>
Мне это нужно сделать для разбора конфигурационного файла в стартовом
скрипте. На чем вы предложите написать?
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-09-01 3:53 ` Kharitonov A. Dmitry
@ 2008-09-01 4:01 ` Denis Nazarov
2008-09-01 17:48 ` Kharitonov A. Dmitry
2008-09-01 4:40 ` Gleb Kulikov
1 sibling, 1 reply; 19+ messages in thread
From: Denis Nazarov @ 2008-09-01 4:01 UTC (permalink / raw)
To: ALT Linux Community general discussions
В сообщении от Monday 01 September 2008 09:53:00 Kharitonov A. Dmitry написал(а):
> На чем вы предложите написать?
да хотя бы на перле :)
#!/usr/bin/perl
my $str=" 123 123 ";
print "$str\n"; # получаем " 123 123 "
$str =~ s/^( )*//ig;
print "$str\n"; # получаем "123 123 "
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-09-01 3:53 ` Kharitonov A. Dmitry
2008-09-01 4:01 ` Denis Nazarov
@ 2008-09-01 4:40 ` Gleb Kulikov
2008-09-01 4:52 ` Denis Nazarov
2008-09-01 11:27 ` Yuri Bushmelev
1 sibling, 2 replies; 19+ messages in thread
From: Gleb Kulikov @ 2008-09-01 4:40 UTC (permalink / raw)
To: ALT Linux Community general discussions
In message [Понедельник 01 сентября 2008] from Kharitonov A. Dmitry was
written:
> Мне это нужно сделать для разбора конфигурационного файла в стартовом
> скрипте. На чем вы предложите написать?
я предлагаю и пишу на питоне. ничего дурного, в этом не вижу.
--
Салют, /GLeb
UIN: 15341920
jabber://gleb@asd.iao.ru
sip://2387245@sipnet.ru (telephony)
skype://gleb_kulikov.tomsk (telephony)
sip://20000204@sip.pctel.ru (telephony)
netmail: 2:5005/78
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-09-01 4:40 ` Gleb Kulikov
@ 2008-09-01 4:52 ` Denis Nazarov
2008-09-01 4:56 ` Andrey Rahmatullin
2008-09-01 11:27 ` Yuri Bushmelev
1 sibling, 1 reply; 19+ messages in thread
From: Denis Nazarov @ 2008-09-01 4:52 UTC (permalink / raw)
To: ALT Linux Community general discussions
В сообщении от Monday 01 September 2008 10:40:58 Gleb Kulikov написал(а):
> я предлагаю и пишу на питоне. ничего дурного, в этом не вижу.
я тоже не против питона, вот только с регулярными выражениями еще
не до конца разобрался. Можно пример по сабжу в студию?
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-09-01 4:52 ` Denis Nazarov
@ 2008-09-01 4:56 ` Andrey Rahmatullin
0 siblings, 0 replies; 19+ messages in thread
From: Andrey Rahmatullin @ 2008-09-01 4:56 UTC (permalink / raw)
To: community
On Mon, Sep 01, 2008 at 10:52:52AM +0600, Denis Nazarov wrote:
> я тоже не против питона, вот только с регулярными выражениями еще
> не до конца разобрался. Можно пример по сабжу в студию?
Питон не из тех языков, где для ltrim надо городить регекс.
А вообще
http://diveintopython.org/regular_expressions/index.html
http://docs.python.org/lib/module-re.html
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-09-01 4:40 ` Gleb Kulikov
2008-09-01 4:52 ` Denis Nazarov
@ 2008-09-01 11:27 ` Yuri Bushmelev
2008-09-01 11:40 ` Mikhail Gusarov
1 sibling, 1 reply; 19+ messages in thread
From: Yuri Bushmelev @ 2008-09-01 11:27 UTC (permalink / raw)
To: ALT Linux Community general discussions
В сообщении от Понедельник 01 сентября 2008 Gleb Kulikov написал(a):
> In message [Понедельник 01 сентября 2008] from Kharitonov A. Dmitry was
>
> written:
> > Мне это нужно сделать для разбора конфигурационного файла в стартовом
> > скрипте. На чем вы предложите написать?
>
> я предлагаю и пишу на питоне. ничего дурного, в этом не вижу.
Стартовый скрипт - это что-то из /etc/init.d?
Я бы не рекомендовал там использовать что-то, не входящее в LSB, если это
потенциально может выползти хоть куда-то еще, либо если это придется
поддерживать еще кому-то, кроме вас (и после вас)...
Если это нечто сугубо внутреннее в пределах организации, то обязательно
документировать необходимость установки питона/перла/etc. Сэкономите себе и
другим потом кучу времени.
--
С уважением,
Бушмелев Юрий
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-09-01 11:27 ` Yuri Bushmelev
@ 2008-09-01 11:40 ` Mikhail Gusarov
0 siblings, 0 replies; 19+ messages in thread
From: Mikhail Gusarov @ 2008-09-01 11:40 UTC (permalink / raw)
To: ALT Linux Community general discussions
[-- Attachment #1: Type: text/plain, Size: 1180 bytes --]
Twas brillig at 15:27:54 01.09.2008 UTC+04 when jay4mail@gmail.com did gyre and gimble:
>> я предлагаю и пишу на питоне. ничего дурного, в этом не вижу.
YB> Стартовый скрипт - это что-то из /etc/init.d?
YB> Я бы не рекомендовал там использовать что-то, не входящее в LSB,
http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Languages/LSB-Languages/python.html
YB> если это потенциально может выползти хоть куда-то еще, либо если
YB> это придется поддерживать еще кому-то, кроме вас (и после вас)...
Всё равно переносимость LSB - миф.
YB> Если это нечто сугубо внутреннее в пределах организации, то
YB> обязательно документировать необходимость установки
YB> питона/перла/etc. Сэкономите себе и другим потом кучу времени.
Requires отменили?
--
[-- Attachment #2: Type: application/pgp-signature, Size: 196 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-08-31 16:00 ` Yura Kalinichenko
2008-08-31 16:32 ` Kharitonov A. Dmitry
@ 2008-09-01 13:19 ` Yury Aliaev
1 sibling, 0 replies; 19+ messages in thread
From: Yury Aliaev @ 2008-09-01 13:19 UTC (permalink / raw)
To: ALT Linux Community general discussions
Yura Kalinichenko scripsit:
>>
>>> Как удалить пробелы в начале строки?
>>> Нужно для скрипта в bashe
>>>
>>> Допустим
>>> t=" 123 123 "
>>> а в результате получилось бы
>>> "123 123 "
>>>
>>
>> sed 's/^[ \t]*//'
>>
>
> Более кошерный вариант:
>
> sed -e 's[[:space:]]*//g'
>
Всё-таки sed -e 's^[[:space:]]*//g' (добавлена галочка в начале). Иначе
он вообще все пробулы выкусит...
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-08-31 16:33 ` Kharitonov A. Dmitry
@ 2008-09-01 14:15 ` Slava Dubrovskiy
0 siblings, 0 replies; 19+ messages in thread
From: Slava Dubrovskiy @ 2008-09-01 14:15 UTC (permalink / raw)
To: ALT Linux Community general discussions
[-- Attachment #1: Type: text/plain, Size: 341 bytes --]
Kharitonov A. Dmitry пишет:
>> Здесь (http://www-h.eng.cam.ac.uk/help/tpl/unix/sed.html) и другие
>> примеры есть
> Спасибо! классная статейка, читал с удовольствием
в догонку:
http://www.opennet.ru/base/dev/sed1line.txt.html
--
WBR,
Dubrovskiy Vyacheslav
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/x-pkcs7-signature, Size: 3262 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-09-01 4:01 ` Denis Nazarov
@ 2008-09-01 17:48 ` Kharitonov A. Dmitry
2008-09-02 2:46 ` Gleb Kulikov
0 siblings, 1 reply; 19+ messages in thread
From: Kharitonov A. Dmitry @ 2008-09-01 17:48 UTC (permalink / raw)
To: ALT Linux Community general discussions
Denis Nazarov пишет:
> В сообщении от Monday 01 September 2008 09:53:00 Kharitonov A. Dmitry написал(а):
>
>> На чем вы предложите написать?
>>
>
> да хотя бы на перле :)
>
>
> #!/usr/bin/perl
>
> my $str=" 123 123 ";
> print "$str\n"; # получаем " 123 123 "
> $str =~ s/^( )*//ig;
> print "$str\n"; # получаем "123 123 "
>
я чего-то никакой разницы с bashем не увидел. А если учесть, что читать
строчки нужно из файла, то sed однозначно рулит.
А теперь представьте, что этот скрипт нужно встроить в модем, и туда ещё
перл из-за этого грузить придётся.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-08-31 18:21 ` Yuri Bushmelev
@ 2008-09-01 20:10 ` Michael Shigorin
0 siblings, 0 replies; 19+ messages in thread
From: Michael Shigorin @ 2008-09-01 20:10 UTC (permalink / raw)
To: ALT Linux Community general discussions
On Sun, Aug 31, 2008 at 10:21:19PM +0400, Yuri Bushmelev wrote:
> > Как удалить пробелы в начале строки?
> > Нужно для скрипта в bashe
Бишь #!/bin/bash в начале.
> > Допустим
> > t=" 123 123 "
> > а в результате получилось бы
> > "123 123 "
>
> a=" 123 "; b=${a##+( )}; echo "'$b'"
> '123 '
>
> Будет работать в bash. Для других шеллов не обещаю..
Причём если включить extglob:
shopt -s extglob
См. pathname expansion в bash(1).
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Comm] Как удалить пробелы
2008-09-01 17:48 ` Kharitonov A. Dmitry
@ 2008-09-02 2:46 ` Gleb Kulikov
0 siblings, 0 replies; 19+ messages in thread
From: Gleb Kulikov @ 2008-09-02 2:46 UTC (permalink / raw)
To: ALT Linux Community general discussions
In message [Вторник 02 сентября 2008] from Kharitonov A. Dmitry was written:
> > my $str=" 123 123 ";
> > print "$str\n"; # получаем " 123 123 "
> > $str =~ s/^( )*//ig;
> > print "$str\n"; # получаем "123 123 "
>
> я чего-то никакой разницы с bashем не увидел. А если учесть, что читать
1. питон:
t = " 123 123 "
t.strip()
t.lstrip()
t.rstrip()
ну и регекспы, если хочется.
2. не видел ни одного дистрибутива. в котором питон не был бы установлен по
умолчанию, разве что в паталогически минималистичных.
> А теперь представьте, что этот скрипт нужно встроить в модем, и туда ещё
> перл из-за этого грузить придётся.
3. для встроенных систем с катастрофически ограниченными ресурсами, и баша
может быть много. вряд ли надо заранее во всех случаях устраивать себе
геморрой на маловероятный случай утаптывания скрипта в минисистему.
> строчки нужно из файла, то sed однозначно рулит.
4.
for line in file:
line = line.strip().split()
for element in line:
# --- прочий парсинг
--
Салют, /GLeb
UIN: 15341920
jabber://gleb@asd.iao.ru
sip://2387245@sipnet.ru (telephony)
skype://gleb_kulikov.tomsk (telephony)
sip://20000204@sip.pctel.ru (telephony)
netmail: 2:5005/78
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2008-09-02 2:46 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-31 14:17 [Comm] Как удалить пробелы Kharitonov A. Dmitry
2008-08-31 14:25 ` Michael Holzman
2008-08-31 16:00 ` Yura Kalinichenko
2008-08-31 16:32 ` Kharitonov A. Dmitry
2008-09-01 13:19 ` Yury Aliaev
2008-08-31 16:33 ` Kharitonov A. Dmitry
2008-09-01 14:15 ` Slava Dubrovskiy
2008-08-31 18:21 ` Yuri Bushmelev
2008-09-01 20:10 ` Michael Shigorin
2008-09-01 3:27 ` Gleb Kulikov
2008-09-01 3:53 ` Kharitonov A. Dmitry
2008-09-01 4:01 ` Denis Nazarov
2008-09-01 17:48 ` Kharitonov A. Dmitry
2008-09-02 2:46 ` Gleb Kulikov
2008-09-01 4:40 ` Gleb Kulikov
2008-09-01 4:52 ` Denis Nazarov
2008-09-01 4:56 ` Andrey Rahmatullin
2008-09-01 11:27 ` Yuri Bushmelev
2008-09-01 11:40 ` Mikhail Gusarov
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