ファイルからすべての行を出力し、そのファイルの別の行を最後に追加して、基本的に各行の一部からペアを作成するプログラムを作成しようとしています。行が同じ場合、何もしません。また、同じペアを繰り返さないようにする必要があります。ABはBAと同じ
要するに
ファイル入力:
otherstuff A
otherstuff B
otherstuff C
otherstuff D
出力:
A B
A C
A D
B C
B D
C D
これを BASH スクリプトで実行しようとしましたが、ネストされた while ループを機能させることができなかったため、問題が発生しました。最初の行を読み取り、他の行と比較して停止します (基本的に、上記の出力例では最初の 3 行のみを出力し、外側の while ループは 1 回だけ実行されます)。
また、MATLAB を使用してこれを行うことができると思うので、それを使用する提案も歓迎します。
これが私がこれまでに持っているbashスクリプトです。私が言ったように、外側のループは 1 回しか実行されないため、正しく出力されません。
#READS IN file from terminal
FILE1=$1
#START count at 0
count0=
exec 3<&0
exec 0< $FILE1
while read LINEa; do
while read LINEb; do
eventIDa=$(echo $LINEa | cut -c20-23)
eventIDb=$(echo $LINEb | cut -c20-23)
echo $eventIDa $eventIDb
done
done