grepを実行すると、ls | grep png
出力は次のようになります。
2015-05-15-200203_1920x1080_scrot.png
2015-05-16-025536_1920x1080_scrot.png
(ファイル名、改行、ファイル名、改行)
次に、次のようにecho $(ls | grep png)
出力します。
2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png
(ファイル名、単語分割スペース、ファイル名、改行文字!! From echo!!)
大丈夫です。ただし、単語の分離を防ぐために、これを行うとecho "$(ls | grep png)"
結果は次のようになります。
2015-05-15-200203_1920x1080_scrot.png
2015-05-16-025536_1920x1080_scrot.png
私の質問は2番目の改行文字(1つはgrepで、1つはechoから取得する必要があります)はどこですか?
ベストアンサー1
これはから来る改行ですecho
。以下をecho -n
使用して、末尾の改行を抑制してこれを確認できます。
echo -n "$(ls | grep png)"
コマンドの置き換えすべての末尾の改行文字を削除します。最後の改行文字はによって追加され、echo
ここではgrep
関係ありません。