複数行の接頭辞を付けて改行を維持します。

複数行の接頭辞を付けて改行を維持します。

catとgrepの出力に変数が設定されたbashスクリプトがあります。

result=`cat $file | grep -A2 "$search"`

結果には3つのEG行が含まれます。

This is Line 1
This is line 2
This is line 3

各行の前にスペースを入れる必要があります。

 This is Line 1
 This is line 2
 This is line 3

私は以下を試しました:

result=`echo $result | awk '{print " "$0}'`

そして、いくつかの他のsedコマンドの結果は次のとおりです。

 This is Line 1 This is line 2 This is line 3

スペースを追加しますが、新しい行を削除します。

注:これは改行文字が必要なファイルに保存されます。

ベストアンサー1

アッ

awk '{printf " %s\n",$0}' file-in.txt > file-out.txt

sed

sed -e 's/^/ /' file-in.txt > file-out.txt

sed (同じファイル)

sed -i -s 's/^/ /' file.txt

おすすめ記事