Re: cat и echo. Подскажите, как правильно.
Валентин Лоскутов -> debian-russian@lists.debian.org @ Tue, Mar 09, 2010 19:03 +0300
> Здравствуйте.
>
> Имею:
>
> $ cat 1234.txt
> 1
> 2
> 3
> 4
>
> $ MYVAR=`cat 1234.txt`; echo $MYVAR
> 1 2 3 4
>
> $ MYVAR=`cat 1234.txt`; echo $MYVAR | tr [\ ] [*]
> 1*2*3*4
>
> т.е. переносы строк куда-то пропали (строки соединились через пробел).
> Как правильно сделать cat (grep и т.п.) файла в переменную, а потом вывести её в многострочном виде?
Беглый просмотр man bash на тему command substitution и word splitting
дал вот такой пример:
undertaker@BOSS:/tmp$ TEST=$(cat test); IFS=''; echo $TEST; unset IFS; echo; echo $TEST
1
2
3
4
1 2 3 4
Читайте доки, они рулез, да.
--
Bright regards, Sergey Korobitsin | http://the-brights.net/ --
Arta Software, http://arta.kz/ | illuminating and elevating
xmpp:undertaker@jabber.arta.kz | the naturalistic worldview
--
Современные условия бытия оставляют человека один на один с бесконечным монологом
масс-медиа и культуры; монологом масс-медиа и культуры о самих себе. Хуже того,
реальность, с которой имеет дело субъект культуры - продукт этого самого монолога.
Человек остается безвольным и безвластным червяком в колоссальной кафкианской машине
само-воспроизводящейся культуры. Культуры, язык которой защищен копирайтом -
чтобы произнести в этом смысловом поле нечто осмысленное, вообще что-то произнести,
требуется добыть разрешение владельца копирайта. Копирайт обозначает тиранию
гораздо более жестокую и окончательную, чем все прежде известные формы тирании -
прежде никому не приходило в голову кодифицировать все формы экспрессии
и требовать получения отдельного разрешения на каждую.
-- Миша Вербицкий, "Антикопирайт"
Reply to: