Здравствуйте.
>> Имею: >> >> $ 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 и т.п.) файла в переменную, а потом вывести >> её в многострочном виде? >> >> >> >А что должно получиться в результате? > >вариант >while read aaa >do > echo $aaa >done <1234.txt > >не устроит? Я надеялся, что вывод $ MYVAR=`cat 1234.txt`; echo $MYVAR будет аналогичен выводу просто $ cat 1234.txt но это не так. Была мысль сразу задачу описать... :-) Есть большой файл, по нему делается grep (работает несколько /десятков/ секунд) в переменную. Это первый этап. Потом делается несколько операций по этой переменной (подсчёт некоторых строк, какие-то замены и т.п.). Это второй этап. А потом вывод всего этого безобразия, в том числе и переменной, полученной на первом этапе. Так вот на первом этапе результатом grep являются несколько строк, а выводятся они в одну строку, что меня не устраивает. Делать второй этап по основному файлу (вместо переменной, полученной на первом этапе) очень долго. И временный файл использовать не хочется. Вот расширенный пример: $ cat 1234.txt 1 1 2 1 3 2 4 2 $ MYVAR=`grep 2 1234.txt`; echo $MYVAR 2 1 3 2 4 2 $ MYVAR=`grep 2 1234.txt`; echo $MYVAR | tr [\ ] [*] 2*1*3*2*4*2 Я надеялся получить на выходе 2 1 3 2 4 2 и 2*1 3*2 4*2 соответственно. До свидания. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

