繰り返し中にPaste -dに2番目のファイルを印刷させるにはどうすればよいですか?

繰り返し中にPaste -dに2番目のファイルを印刷させるにはどうすればよいですか?

ファイルを下に移動すると、新しい行が生成されるように、2番目のファイルタグ「b」が最初のファイルタグ「a」を印刷したいと思います。 2番目のファイルの最初の行が最後に達するまで最後まで印刷したいと思います。最初のファイルの行。これをファイル自体に入れる必要がありますか?それともターミナルでできますか?

今すること:

paste -d ' ' a b   

1  a                       
2  b                       
3  c                       
4  d                       
5  e                      
6                               
7                               
8                                 
9                                                                              

希望の出力:

1  ↓                          
2  a                       
3  b                       
4  c                       
5  d                       
6  e                       
7                               
8                               
9                               

1                               
2                               
3  ↓                          
4  a                      
5  b                       
6  c                       
7  d                       
8  e                       
9                                                                  

        Re-looping                   
1  b                       
2  c                       
3  d                       
4  e                             
5                               
6                               
7  ↓                          
8  List is about to loop        
9  a                       

答え1

この文書はあなたの問題を直接解決するものではありませんが、あなたが探しているものに近い方向に案内します。

PS:ところで、私はpasteこのデータ処理タスクにそれを使用しません。私はawkや他のより適切なツールを選択します。

とにかく、paste次のような「汚れた」ソリューションを検討できます。

ケース1:

$ k=3
$ paste -d '  ' a <(printf ' %.0s\n' $(seq 1 $k);cat b)
1  
2  
3  
4 a
5 b
6 c
7 d
8 e
9 
#You can adjust the value of $k with a kind of loop

ケース2:

$ k=3
$ s=4
$ paste -d '  ' a <(printf ' %.0s\n' $(seq 1 $k);tail -n +$s b)
1
2
3
4 d
5 e
6
7
8
9

答え2

ain単語とin単語の外積を作成することが目的であれば、次のように使用bできます。join

$ join -1 2 -2 2 a b
 1 a
 1 b
 1 c
 1 d
 1 e
 2 a
 2 b
 2 c
 2 d
 2 e
 3 a
 3 b
 3 c
 3 d
 3 e
 4 a
 4 b
 4 c
 4 d
 4 e
 5 a
 5 b
 5 c
 5 d
 5 e
 6 a
 6 b
 6 c
 6 d
 6 e
 7 a
 7 b
 7 c
 7 d
 7 e
 8 a
 8 b
 8 c
 8 d
 8 e
 9 a
 9 b
 9 c
 9 d
 9 e

存在しないフィールドでファイルを結合すると、両方のファイルに可能なすべての行の組み合わせが生成されます。これにより、各行の先頭にスペースが挿入されます。

関連情報