Uma maneira de usar perl
:
perl -pe 'if ($. == 1) { m/^(\s*)/; $space = $1 || q{}; next } s/^\s*/$space/' infile
Produz:
x=1+2+3+4+
5+6+7+8
+9+10+12
Como posso recuar um arquivo como sua primeira linha?
Exemplo:
Um arquivo contendo
x=1+2+3+4+
5+6+7+8
+9+10+12
deve ser convertido para
x=1+2+3+4+
5+6+7+8
+9+10+12
Eu preciso disso dentro de um script de shell em um sistema Linux. One-liners são preferidos.
Você pode fazer isso no awk:
awk 'NR==1{split($0,a,/[^ \t]/)}{sub(/^[ \t]*/,a[1]);print}' file.in
com sed:
sed -e '1{h;s/[^[:blank:]].*//;x;b' -e '}' -e 'G;s/[[:blank:]]*\(.*\)\n\(.*\)//'