* [Comm] How to join lines with separator ?
@ 2007-02-06 14:33 Vitaly Ostanin
2007-02-06 16:42 ` Andrey S. Rybak
2007-02-06 18:39 ` Grigory Batalov
0 siblings, 2 replies; 8+ messages in thread
From: Vitaly Ostanin @ 2007-02-06 14:33 UTC (permalink / raw)
To: ALT Linux Community
[-- Attachment #1: Type: text/plain, Size: 441 bytes --]
Здравствуйте.
В очередной раз ловлю клин. Скажите, пожалуйста, какое есть
родное средство в UNIX для объединения строк в одну, с
разделением запятыми?
Пытался делать:
cat file | tr '\n' ','
пустой вывод. Да и последняя запятая не нужна.
Можно сделать через
while read s; do echo -n $s; echo -n ','
, но тоже последняя запятая лишняя, да и коряво как-то.
--
Regards, Vyt
mailto: vyt@vzljot.ru
JID: vyt@vzljot.ru
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] How to join lines with separator ?
2007-02-06 16:42 ` Andrey S. Rybak
@ 2007-02-06 14:55 ` Vitaly Ostanin
2007-02-06 17:03 ` Michael Shigorin
0 siblings, 1 reply; 8+ messages in thread
From: Vitaly Ostanin @ 2007-02-06 14:55 UTC (permalink / raw)
To: ALT Linux Community
[-- Attachment #1: Type: text/plain, Size: 672 bytes --]
Andrey S. Rybak wrote:
> Vitaly Ostanin wrote:
>> Здравствуйте.
>>
>> В очередной раз ловлю клин. Скажите, пожалуйста, какое есть
>> родное средство в UNIX для объединения строк в одну, с
>> разделением запятыми?
>>
>> Пытался делать:
>> cat file | tr '\n' ','
>> пустой вывод. Да и последняя запятая не нужна.
>
> где-то в другом месте клин. у меня работает такая конструкция
Действительно. На рабочем компе работает:
2.6.18-wks-smp-alt1
coreutils-5.97-alt1
glibc-2.5-alt4
На сервере не работает:
2.6.12-vs26-smp-alt3
coreutils-5.3.0-alt1
glibc-2.3.5-alt7
<skipped/>
--
Regards, Vyt
mailto: vyt@vzljot.ru
JID: vyt@vzljot.ru
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] How to join lines with separator ?
2007-02-06 14:33 [Comm] How to join lines with separator ? Vitaly Ostanin
@ 2007-02-06 16:42 ` Andrey S. Rybak
2007-02-06 14:55 ` Vitaly Ostanin
2007-02-06 18:39 ` Grigory Batalov
1 sibling, 1 reply; 8+ messages in thread
From: Andrey S. Rybak @ 2007-02-06 16:42 UTC (permalink / raw)
To: ALT Linux Community
Vitaly Ostanin wrote:
> Здравствуйте.
>
> В очередной раз ловлю клин. Скажите, пожалуйста, какое есть
> родное средство в UNIX для объединения строк в одну, с
> разделением запятыми?
>
> Пытался делать:
> cat file | tr '\n' ','
> пустой вывод. Да и последняя запятая не нужна.
>
>
где-то в другом месте клин. у меня работает такая конструкция
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] How to join lines with separator ?
2007-02-06 14:55 ` Vitaly Ostanin
@ 2007-02-06 17:03 ` Michael Shigorin
0 siblings, 0 replies; 8+ messages in thread
From: Michael Shigorin @ 2007-02-06 17:03 UTC (permalink / raw)
To: ALT Linux Community
On Tue, Feb 06, 2007 at 05:55:33PM +0300, Vitaly Ostanin wrote:
> >> В очередной раз ловлю клин. Скажите, пожалуйста, какое есть
> >> родное средство в UNIX для объединения строк в одну, с
> >> разделением запятыми?
> >> Пытался делать: cat file | tr '\n' ','
> >> пустой вывод. Да и последняя запятая не нужна.
> > где-то в другом месте клин. у меня работает такая конструкция
> Действительно. На рабочем компе работает: coreutils-5.97-alt1
> На сервере не работает: coreutils-5.3.0-alt1
Явно дело в старых coreutils. Почитай про sed с ключиком /m
(multiline), пример вроде бы был в sed1line.txt из его
документации.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] How to join lines with separator ?
2007-02-06 14:33 [Comm] How to join lines with separator ? Vitaly Ostanin
2007-02-06 16:42 ` Andrey S. Rybak
@ 2007-02-06 18:39 ` Grigory Batalov
2007-02-07 9:22 ` Vitaly Ostanin
2007-02-07 9:48 ` [Comm] zsh (was: How to join lines with separator ?) Vitaly Ostanin
1 sibling, 2 replies; 8+ messages in thread
From: Grigory Batalov @ 2007-02-06 18:39 UTC (permalink / raw)
To: community
On Tue, 06 Feb 2007 17:33:20 +0300, Vitaly Ostanin wrote:
> В очередной раз ловлю клин. Скажите, пожалуйста, какое есть
> родное средство в UNIX для объединения строк в одну, с
> разделением запятыми?
>
> Пытался делать:
> cat file | tr '\n' ','
> пустой вывод. Да и последняя запятая не нужна.
>
> Можно сделать через
> while read s; do echo -n $s; echo -n ','
> , но тоже последняя запятая лишняя, да и коряво как-то.
cat file | awk '{ if (list != "") list = list ", " $0; else list = $0 } END { print list }'
--
Grigory Batalov,
ALT Linux Team
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] How to join lines with separator ?
2007-02-06 18:39 ` Grigory Batalov
@ 2007-02-07 9:22 ` Vitaly Ostanin
2007-02-07 9:48 ` [Comm] zsh (was: How to join lines with separator ?) Vitaly Ostanin
1 sibling, 0 replies; 8+ messages in thread
From: Vitaly Ostanin @ 2007-02-07 9:22 UTC (permalink / raw)
To: ALT Linux Community
[-- Attachment #1: Type: text/plain, Size: 722 bytes --]
Grigory Batalov wrote:
> On Tue, 06 Feb 2007 17:33:20 +0300, Vitaly Ostanin wrote:
>
>> В очередной раз ловлю клин. Скажите, пожалуйста, какое есть
>> родное средство в UNIX для объединения строк в одну, с
>> разделением запятыми?
>>
>> Пытался делать:
>> cat file | tr '\n' ','
>> пустой вывод. Да и последняя запятая не нужна.
>>
>> Можно сделать через
>> while read s; do echo -n $s; echo -n ','
>> , но тоже последняя запятая лишняя, да и коряво как-то.
>
> cat file | awk '{ if (list != "") list = list ", " $0; else list = $0 } END { print list }'
Красота, спасибо!
И всё же интересно, почему tr на сервере не работает.
--
Regards, Vyt
mailto: vyt@vzljot.ru
JID: vyt@vzljot.ru
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] zsh (was: How to join lines with separator ?)
2007-02-06 18:39 ` Grigory Batalov
2007-02-07 9:22 ` Vitaly Ostanin
@ 2007-02-07 9:48 ` Vitaly Ostanin
2007-02-07 10:17 ` Sergey Vlasov
1 sibling, 1 reply; 8+ messages in thread
From: Vitaly Ostanin @ 2007-02-07 9:48 UTC (permalink / raw)
To: ALT Linux Community
[-- Attachment #1: Type: text/plain, Size: 973 bytes --]
Grigory Batalov wrote:
> On Tue, 06 Feb 2007 17:33:20 +0300, Vitaly Ostanin wrote:
>
>> В очередной раз ловлю клин. Скажите, пожалуйста, какое есть
>> родное средство в UNIX для объединения строк в одну, с
>> разделением запятыми?
>>
>> Пытался делать:
>> cat file | tr '\n' ','
>> пустой вывод. Да и последняя запятая не нужна.
>>
>> Можно сделать через
>> while read s; do echo -n $s; echo -n ','
>> , но тоже последняя запятая лишняя, да и коряво как-то.
>
> cat file | awk '{ if (list != "") list = list ", " $0; else list = $0 } END { print list }'
Оказалось, что дело в zsh - строка после вывода стирается, сразу
идёт приглашение командной строки. Может, это старый zsh так
обходится со строками, у которых нет EOL ?
В этой версии строка стирается:
zsh-4.2.5-alt2
В этих уже всё ок:
zsh-4.3.0-alt0.4
zsh-4.3.2-alt5
~/.zshrc могу показать, если кому интересно.
--
Regards, Vyt
mailto: vyt@vzljot.ru
JID: vyt@vzljot.ru
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] zsh (was: How to join lines with separator ?)
2007-02-07 9:48 ` [Comm] zsh (was: How to join lines with separator ?) Vitaly Ostanin
@ 2007-02-07 10:17 ` Sergey Vlasov
0 siblings, 0 replies; 8+ messages in thread
From: Sergey Vlasov @ 2007-02-07 10:17 UTC (permalink / raw)
To: ALT Linux Community
[-- Attachment #1: Type: text/plain, Size: 1059 bytes --]
On Wed, Feb 07, 2007 at 12:48:22PM +0300, Vitaly Ostanin wrote:
> Оказалось, что дело в zsh - строка после вывода стирается, сразу
> идёт приглашение командной строки. Может, это старый zsh так
> обходится со строками, у которых нет EOL ?
Это действует setopt prompt_cr (включено по умолчанию). Впрочем,
отключение этой опции приводит к проблемам при редактировании
командной строки, когда промпт после такого вывода без EOL находится
не в начале строки.
> В этой версии строка стирается:
> zsh-4.2.5-alt2
>
> В этих уже всё ок:
> zsh-4.3.0-alt0.4
> zsh-4.3.2-alt5
А в этих версиях, помимо prompt_cr, есть опция prompt_sp, которая
позволяет сохранить подобную частичную строку, но иногда приводит к не
совсем приятным побочным эффектам:
- мусор в терминале, если ввод команды начат раньше, чем zsh покажет
промпт - для первой команды это можно обойти, если сначала
установить no_prompt_sp, а затем вернуть prompt_sp в preexec();
- мусор в командной строке в старых сборках mc (сейчас в Сизифе это
уже исправлено).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-02-07 10:17 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-06 14:33 [Comm] How to join lines with separator ? Vitaly Ostanin
2007-02-06 16:42 ` Andrey S. Rybak
2007-02-06 14:55 ` Vitaly Ostanin
2007-02-06 17:03 ` Michael Shigorin
2007-02-06 18:39 ` Grigory Batalov
2007-02-07 9:22 ` Vitaly Ostanin
2007-02-07 9:48 ` [Comm] zsh (was: How to join lines with separator ?) Vitaly Ostanin
2007-02-07 10:17 ` Sergey Vlasov
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