세 개의 텍스트 파일이 있고 이를 Linux 컴퓨터에서 하나의 텍스트 파일로 병합하고 싶습니다.
입력 파일:
1_val.txt
0x0000000000060b7c02555b80
0x0000000000060b7c026c6580
0x0000000000060b7c0285ff80
2_val.txt
0x0000000000060b7c0257a180
0x0000000000060b7c026eab80
0x0000000000060b7c02884580
3_val.txt
2.2734
2.2734
2.2734
예상 출력:
값.txt
0x0000000000060b7c02555b80 0x0000000000060b7c0257a180 2.2734
0x0000000000060b7c026c6580 0x0000000000060b7c026eab80 2.2734
0x0000000000060b7c0285ff80 0x0000000000060b7c02884580 2.2734
결과 출력: 첫 번째 열과 두 번째 열의 마지막 세 값이 누락되었습니다.
0x0000000000060b7c02555 0x0000000000060b7c0257a 2.2734
0x0000000000060b7c026c6 0x0000000000060b7c026ea 2.2734
0x0000000000060b7c0285f 0x0000000000060b7c02884 2.2734
이 작업을 수행하는 데 사용한 코드는
pr -m -t 1_val.txt 2_val.txt 3_val.txt > values.txt
답변1
paste
공백 구분 기호를 사용 하고 지정합니다.
paste -d' ' 1_val.txt 2_val.txt 3_val.txt >values.txt
문제는 기본적으로 긴 줄을 자르는 옵션입니다 -m
(강조 광산에서).pr
man pr
-m, --병합
모든 파일을 열당 하나씩 병렬로 인쇄합니다.
줄 자르기, 그러나 전체 길이 행을 연결하려면 -J를 사용하십시오.
귀하의 경우 이는 첫 번째 파일에서 각 줄의 마지막 몇 문자를 제거하는 것입니다.
답변2
-J
스위치를 사용하여 전체 줄을 연결하고 줄 잘림을 해제합니다.
pr -J -m -t 1_val.txt 2_val.txt 3_val.txt > values.txt
또는 페이지 너비를 충분히 큰 값으로 설정하십시오.
pr -W80 -m -t 1_val.txt 2_val.txt 3_val.txt > values.txt