줄의 특정 위치에 문자 추가

줄의 특정 위치에 문자 추가

다음과 같은 문제가 발생했습니다. 데이터를 변환하려면 각 줄의 특정 위치에 공백을 추가해야 합니다.

ATOM      1 HT1 GLY     5      10.346  30.927 130.252  0.00  0.00

(12번째 열에 공백을 추가하여)

ATOM      1  HT1 GLY     5      10.346  30.927 130.252  0.00  0.00

이제 나는 다음을 통해 그것을 달성했습니다.

cat $INFILE | cut -c-11 > $INFILE.1
cat $INFILE | cut -c12- > $INFILE.2
paste -d ' ' $INFILE.1 $INFILE.2 > $INFILE

하지만 임시 파일을 사용하지 않고 더 우아한 솔루션이 있을 수 있을까요?

미리 감사드립니다.

답변1

당신은 확실히 이것을 할 수 있지만 sed나는 perl더 잘 압니다 ...

  perl -p -i -e 's/^(.{12})/$1 /' $INFILE

나중에

  sed -i -e 's/^.\{12\}/& /' $INFILE

관련 정보