
ファイルをインデントする方法(例:最初の行)
例:
ファイルには以下が含まれます。
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/'