echo foo bar foobar barfoo | perl -lane 'map { print } @F'

Mar 29, 2012 21:52

foo
bar
foobar
barfoo

- Perl это круто (конечно), а как-нибудь ещё из строки значений в строки по одному значению?

UPD.: Вот оно - echo foo bar foobar barfoo | xargs -n1 echo

comp.lang, опрос, snippet

Leave a comment

Comments 33

dzz March 29 2012, 14:18:51 UTC
echo foo bar foobar barfoo | sed -e 's/ /\r/g'

Reply

poige March 29 2012, 14:20:49 UTC
echo foo bar foobar barfoo | sed -e 's/ /\r/g'
→ barfoo

Reply

dzz March 29 2012, 14:22:27 UTC
pin@kenga$ echo aaa bbb ccc | sed -e 's/ /\
/g'

aaa
bbb
ccc

Reply

poige March 29 2012, 14:21:17 UTC
\n

Reply


shabunc March 29 2012, 14:26:17 UTC
for w in $(echo foo bar foobar barfoo); do echo $w; done

Reply

poige March 29 2012, 14:28:16 UTC
Это не фильтр.

Reply

shabunc March 29 2012, 14:50:35 UTC
это не пайп безусловно, но в посте ни слова не было про это )))

Reply

poige March 29 2012, 14:53:58 UTC
Это, видимо, тот самый случай, когда уместно пиздануть 2-а слова на латыни: «Sapienti sat».

Reply


dzz March 29 2012, 14:29:35 UTC
ещё awk-ом можно:

echo aaa bbb ccc | nawk 'BEGIN{RS=" "}{print $0}'

и python-ом ;)))

Reply

poige March 29 2012, 14:30:31 UTC
- не идентичный вывод, посмотри сам.

Reply

dzz March 29 2012, 14:33:31 UTC
Чем неидентичный-то?

pin@kenga$ echo aaa bbb ccc | nawk 'BEGIN{RS=" "}{print $0}'

aaa
bbb
ccc

Reply

poige March 29 2012, 14:36:27 UTC
wc -l или cat -n поставь после.

Reply


tobotras March 29 2012, 14:35:30 UTC
echo foo bar foobar barfoo | tr ' ' '\n'

Reply

poige March 29 2012, 14:37:53 UTC
А если так: echo -e "foo\tbar foobar barfoo" - ?

Reply

tobotras March 29 2012, 14:55:46 UTC
Ну, тогда tr ' \t' '\n', какая разница.

Reply

poige March 29 2012, 14:58:14 UTC
А если несколько пробелов подряд?

Reply


starcat13 March 30 2012, 01:51:03 UTC
echo foo bar foobar barfoo | xargs -n1 echo
?

Reply

poige March 30 2012, 02:06:49 UTC
Во! Это гораздо лучше всех остальных предложенных альтернатив. Да и Perl дёргать ради этого тоже не айс. Я, честно сказать, делал подход на эту тему к xargs, но «-n» как-то проглядел. Спасибо!

Reply

starcat13 March 30 2012, 02:09:22 UTC
xargs как раз для этого и предназначен, имхо.
Я несколько раз условие перечитывал, думал, что есть какой-то подвох - раз никто xargs не предложил :)

Reply

> xargs -n1 echo poige June 8 2012, 02:10:28 UTC
Кстати, echo не нужен, оно по-умолчанию. Правда ещё лучше было бы, если оно вообще бы не внешней прогой делалось (exec на каждую строку ввода это не прикольно).

Reply


Leave a comment

Up