"paste - - - -" 명령, 큰 열 번호 지정 방법

"paste - - - -" 명령, 큰 열 번호 지정 방법

command 에서 paste - - - -숫자는 -미래의 열 번호와 같습니다. 내 경우에는 55,000개의 미래 열이 있는데 -사용할 수 있는 것에 55,000을 투자할 필요가 없나요?

예:

title1:A1
title2:A2
title3:A3
title4:A4
title5:A5

title1:B1
title2:B2
title3:B3
title4:B4
title5:B5

title1:C1
title2:C2
title3:C3
title4:C4
title5:C5

title1:D1
title2:D2
title3:D3
title4:D4
title5:D5

이 파일(A)을 다음으로 변환하고 싶습니다.

title1 A1   title1 B1   title1 C1   title1 D1   title2 A2
title2 B2   title2 C2   title2 D2   title3 A3   title3 B3
title3 C3   title3 D3   title4 A4   title4 B4   title4 C4
title4 D4   title5 A5   title5 B5   title5 C5   title5 D5

이를 위해 다음을 사용했습니다.

$ sed 's/:/ /; /^$/d' sample.txt \
    | sort | paste - - - - -

하지만 내 파일에는 55,000 또는 400개의 매우 큰 열 번호가 있습니다. -???의 대안은 무엇입니까?

답변1

이 답변을 기반으로 한 문자열 곱셈 트릭:https://stackoverflow.com/a/5349772/4082052


교체를 사용하여 프로그래밍 가능한 대시 수 삽입

paste $(for i in {1..400}; do echo -n '- '; done)

또는

paste $(printf -- "- %.s" {1..400})

왜 사용하는지 알아 보려면 다음을 수행하십시오 printf --.printf에서 대시

답변2

4줄 파일의 경우:

 paste $(for((i=1;i<4;i++)); do echo -n "- "; done; echo -n "-") < file

관련 정보