grep結果の改行文字を保存するにはどうすればいいですか?

550 ワード

まず、次のコマンドを見てください.
~$ grep bash /etc/passwd
root:x:0:0:root:/root:/bin/bash
guest-rwf0fx:x:116:125:Guest,,,:/tmp/guest-rwf0fx:/bin/bash

ただし、結果を変数に保存すると、次のようになります.
~$ result=$(grep  bash /etc/passwd)
charles@xiaotao:~$ echo $result
root:x:0:0:root:/root:/bin/bash :116:125:Guest,,,:/tmp/guest-rwf0fx:/bin/bash

改行文字がないことがわかります.
二重引用符を付けると、改行を保持できます.
$ echo "$result"
root:x:0:0:root:/root:/bin/bash
guest-rwf0fx:x:116:125:Guest,,,:/tmp/guest-rwf0fx:/bin/bash