эхо и кошка подавляет символы новой строки - PullRequest
1 голос
/ 16 декабря 2011

Ниже приведен пример. Я вижу, что когда я использую echo с cat, он подавляет символы новой строки. Это ожидаемое поведение? Я работаю над солярисом unix.

   .262> cat temp2.txt 
    20110801
    20110802
    20110803
    20110804
    20110805
    20110808
    > echo `cat temp2.txt `
    20110801 20110802 20110803 20110804 20110805 20110808

Ответы [ 2 ]

1 голос
/ 09 апреля 2013

Да, это ожидаемое поведение.

Но, как предложил «Марк Рид», вы можете оставить пробел, используя кавычки:

echo "$(cat temp2.txt)"
0 голосов
/ 16 декабря 2011

Да, это ожидаемое поведение.

Я не знаю ни одной оболочки, которая этого не делает.

Это документировано в bash:

 $ man bash | awk '/Command Substitution/ { p = 1 } /Arithmetic Expansion/ { p = 0 } { if (p) print; }'

В зш:

$ man zshall | awk '/COMMAND SUBSTITUTION/ {p=1} /ARITHMETIC EXPANSION/ {p=0} { if (p) print }'

(Edit: я удалил вывод командных строк, поскольку они бессмысленны, как указано @sehe в комментарии)

...