最初の行にインデント

最初の行にインデント

ファイルをインデントする方法(例:最初の行)

例:

ファイルには以下が含まれます。

     x=1+2+3+4+
5+6+7+8
+9+10+12

に変換しなければならない

     x=1+2+3+4+
     5+6+7+8
     +9+10+12

Linuxシステムのシェルスクリプトでこれを使用する必要があります。単一の裏地が好ましい。

答え1

それを使用する1つの方法perl

perl -pe 'if ($. == 1) { m/^(\s*)/; $space = $1 || q{}; next } s/^\s*/$space/' infile

それは次のものを生成します:

    x=1+2+3+4+
    5+6+7+8
    +9+10+12

答え2

awkでは、次のようにできます。

awk 'NR==1{split($0,a,/[^ \t]/)}{sub(/^[ \t]*/,a[1]);print}' file.in

答え3

sedを使用してください:

sed -e '1{h;s/[^[:blank:]].*//;x;b' -e '}' -e 'G;s/[[:blank:]]*\(.*\)\n\(.*\)/\2\1/'

関連情報