我正在尝试编写一个程序,该程序将打印出文件中的每一行,并在最后添加该文件的另一行,基本上从每行的一部分创建对。如果这条线是相同的,它将什么都不做。此外,它必须避免重复相同的对。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 循环只运行一次)。
我也怀疑我可以使用 MATLAB 来做到这一点,所以也欢迎使用它的建议。
这是迄今为止我拥有的 bash 脚本。正如我所说,它对我来说没有正确打印出来,因为外循环只运行一次。
#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