pr -m -t file1 file2
나는 이것이 다음과 같은 두 개의 열을 제공한다는 것을 알고 있습니다 .
파일 1:
a
abc
abcdefg
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
파일 2:
1
123
12345678
12345678901234567890
-
$ pr -m -t file1 file2
a 1
abc 123
abcdefg 12345678
abcdefghijklmnopqrstuvwxyzabcdefghi 12345678901234567890
위의 내용은 문자 그대로 잘라서 붙여넣은 것이지만 여기에는 터미널에서 실제로 어떻게 정렬되는지 보여주기 위해 공백을 추가했습니다.
$ pr -m -t file1 file2
a 1
abc 123
abcdefg 12345678
abcdefghijklmnopqrstuvwxyzabcdefghi 12345678901234567890
어떤 이유로 unix
스택 교환은 코드 블록을 견고하게 만들지 않습니다. 어쨌든 줄 번호 일치는 필요하지 않습니다(그러나 일반적인 질문에 답하려면 어떻게 해야 하는지 대답할 수도 있습니다). 하지만 제가 원하는 주요 속성은 줄 번호를 자르는 대신 줄 바꿈하는 것입니다. 각 파일을 특정 너비로 전처리하고 파이프로 연결하는 것 외에는 선택의 여지가 없나요? 그렇다면 어떻게 해야 합니까?
command
업데이트: 파일 너비를 제한하고 개행을 강제하는 방법이 있다면 다음과 같이 할 것이라고 생각했습니다 .pr -m -t <(command file1) <(command file2)
답변1
편집하다:
정렬이 걱정되시나요?
Perl 스크립트를 가져와서 찾으면여기, 작성자피터 스투이잔더columnFix.perl
, 이름을 지정합니다 chmod u+x columnFix.perl
(실행할 수 있는지 확인하려면 다음을 수행하세요.
pr -J -m -t file1 file2 | /path/to/columnFix.perl
원래 답변:
I 버전은 pr
기본적으로 행을 72자로 자릅니다. 2개의 열은 첫 번째 열을 35자로 자릅니다 (35 char/column * 2 columns) + 1 char/separator = 71 characters
(따라서 두 번째 열은 36자가 될 수 있음).
따라서 동의한다면 실행하는 동일한 명령을 사용하여 -J
찾고 있는 것처럼 보이는 작업을 수행해야 합니다(원래 명령에 최대한 가깝게).열 정렬 없음(댓글에서 제안한 붙여넣기 명령의 결과와 유사합니다)
pr -J -m -t file1 file2
매뉴얼 페이지에서:
-J, --연결선
전체 줄을 병합하고 -W 줄 잘림을 끄고,열 정렬 없음, --sep-string[=STRING] 구분 기호 설정