그 사람과 비슷한 텍스트 파일이 있습니다.
#c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13
4599 995,274 2523,658 264,1417170 -33,6000 -0,3600 0,0202 0,0069 0,0227 10,1041 0,0169 0,2817 0,0239
6173 1552,290 1595,696 264,0603912 -33,4880 0,4374 0,0287 1,8123 0,0385 10,1289 0,0292 2,8445 0,0366
6456 1658,630 1529,292 264,0449377 -33,4800 0,0109 0,0234 1,0955 0,0296 10,5032 0,0223 1,7168 0,0293
8932 2750,029 1374,395 263,8866195 -33,4615 -0,3185 0,0249 0,9196 0,0302 10,5858 0,0221 1,3886 0,0296
4095 820,716 495,315 264,1658451 -33,3546 -0,4388 0,0216 0,6497 0,0252 10,6026 0,0188 1,1796 0,0258
4737 1045,289 1395,983 264,1338240 -33,4636 0,5900 0,0231 0,8853 0,0273 10,6501 0,0204 1,1661 0,0270
즉, 임의의 줄에 정렬되지 않았습니다(파일 길이가 약 10000줄입니다). 다음과 같이 보이도록 해야 합니다.
#c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13
4599 995,274 2523,658 264,1417170 -33,6000 -0,3600 0,0202 0,0069 0,0227 10,1041 0,0169 0,2817 0,0239
6173 1552,290 1595,696 264,0603912 -33,4880 0,4374 0,0287 1,8123 0,0385 10,1289 0,0292 2,8445 0,0366
6456 1658,630 1529,292 264,0449377 -33,4800 0,0109 0,0234 1,0955 0,0296 10,5032 0,0223 1,7168 0,0293
8932 2750,029 1374,395 263,8866195 -33,4615 -0,3185 0,0249 0,9196 0,0302 10,5858 0,0221 1,3886 0,0296
4095 820,716 495,315 264,1658451 -33,3546 -0,4388 0,0216 0,6497 0,0252 10,6026 0,0188 1,1796 0,0258
4737 1045,289 1395,983 264,1338240 -33,4636 0,5900 0,0231 0,8853 0,0273 10,6501 0,0204 1,1661 0,0270
그래서 기본적으로 저는 파일의 열을 자동으로 정렬하는 스크립트/명령줄 유틸리티를 찾고 있습니다.
답변1
시도하다껍데기:
시험 STDOUT
:
column -t file.txt
파일 수정:
column -t file.txt > new_file.txt && mv new_file.txt file.txt
보시다시피 이것이 필요한 것입니다. printf
복잡한 트릭을 플레이하는 데 많은 시간을 절약할 수 있습니다 .
답변2
당신은 적절한 이름의 기둥 도구를 찾고 있습니다.
원하는 대로 데이터를 다음과 같은 열로 파이프해야 합니다.
cat yourfile | column -s " " -t
-s를 사용하여 구분 기호를 정의합니다.
-s " "
-t를 사용하여 테이블을 만들도록 열에 지시