파일이 3개 있어요
파일 1:
compute-0-44
compute-0-2
compute-0-7
compute-0-8
파일 2:
0
11/29/2017 | 02:01:34
0
05/16/2018 | 08:47:56
파일 3:
0
963
0
459
이 작업을 수행하면 paste file1 file2 file 3
다음을 얻습니다.
compute-0-44 0 0
compute-0-2 11/29/2017 | 02:01:34 963
compute-0-7 0 0
compute-0-8 05/16/2018 | 08:47:56 459
내가 원하는 것은:
compute-0-44 0 0
compute-0-2 11/29/2017 | 02:01:34 963
compute-0-7 0 0
compute-0-8 05/16/2018 | 08:47:56 459
페이스트를 사용해도 되나요? 목적에 부합할 수 있는 다른 대안(예: sed)이 있는 경우.
답변1
사용 pr
명령:
$ pr -mT file{1..3} | expand
compute-0-44 0 0
compute-0-2 11/29/2017 | 02:01:34 963
compute-0-7 0 0
compute-0-8 05/16/2018 | 08:47:56 459
에서 man pr
:
-m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J
탭을 공백으로 변환하는 파이프 expand
- 응용 프로그램에 따라 필요하지 않을 수도 있습니다(실제로 이 사이트에서 출력 형식이 잘 보이도록 여기에 추가했습니다).
답변2
sed
줄에 세로 막대가 없으면 두 번째 탭을 3개의 탭으로 바꿀 수 있습니다.
paste file{1..3} | sed '/|/!s/\t/\t\t\t/2'