"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

関連情報