Excel 2003에서 가져온 명령줄을 통해 파일 편집 및 재정렬

Excel 2003에서 가져온 명령줄을 통해 파일 편집 및 재정렬

Excel 2003에서 다음 기본 형식으로 가져온 텍스트 파일이 있습니다.

43038    12500    s.ramesh    labour

43038    13000    m.ramesh    doctor

이 파일을 1열이 1-5가 되도록 배열해야 합니다.

문제는 2,3,4열이 특정 순서대로 배열되어 있지 않다는 점이다.

나는 이 파일을 다음과 같은 순서로 원합니다

  • 전체 파일의 열 2는 15-19 위치에 있어야 합니다.
  • 열 3은 49-65에 있어야 합니다.
  • 4열은 75~95번째 위치에 있어야 합니다.

파일에는 100000개의 행과 4개의 열이 있습니다.

매일 약 100개의 파일에 대해 이 작업을 수행해야 하기 때문에 sort, vi 또는 기타 편집기나 셸이 도움이 될지에 대한 조언을 찾고 있습니다.

답변1

Perl과 같은 스크립팅 언어가 이에 이상적입니다.

$ cat t2
5 2 r.gritty teaboy
43038 12500 s.ramesh labour
43038 13000 m.ramesh doctor

$ perl -ane 'printf("%5s %5s\n", $F[2],$F[1])' t2
r.gritty     2
s.ramesh 12500
m.ramesh 13000

또는

$ perl  -ane 'printf("%5s %0.5d\n", $F[2],$F[1])' t2
r.gritty 00002
s.ramesh 12500
m.ramesh 13000

그런 다음 수백 개의 파일을 한 번에 편집하려면

$ perl -i -ane 'printf("%5s %5s\n", $F[2],$F[1])' t1 t2 t3 t4 t5 *.txt foo/t6

관련 정보