echo "src dest"; cat /tmp/air | while read s; do for d in `cat /tmp/air`; do if [ $s != $d ]; then echo $s $d; fi; done; done
将输出:
src dest
ATQ HYD
ATQ BLR
ATQ GOI
ATQ AMD
ATQ CCJ
ATQ TRV
HYD ATQ
HYD BLR
HYD GOI
HYD AMD
HYD CCJ
HYD TRV
BLR ATQ
BLR HYD
BLR GOI
BLR AMD
BLR CCJ
BLR TRV
GOI ATQ
...
$ awk 'BEGIN {printf("%s\t%s\n" ,"src", "dest")}
{
line[++c] = $1
}
END {
for ( i = 1; i <= c; i++ )
{
for ( j = 1; j <= c; j++ )
{
if (line[i] != line[j]) { printf("%s\t%s\n",line[i],line[j]) }
}
}
}
' file
将输出
src dest
ATQ HYD
ATQ BLR
ATQ GOI
ATQ AMD
ATQ CCJ
ATQ TRV
HYD ATQ
HYD BLR
HYD GOI
HYD AMD
HYD CCJ
HYD TRV
BLR ATQ
BLR HYD
BLR GOI
BLR AMD
BLR CCJ
BLR TRV
GOI ATQ
GOI HYD
GOI BLR
GOI AMD
GOI CCJ
GOI TRV
AMD ATQ
AMD HYD
AMD BLR
AMD GOI
AMD CCJ
AMD TRV
CCJ ATQ
CCJ HYD
CCJ BLR
CCJ GOI
CCJ AMD
CCJ TRV
TRV ATQ
TRV HYD
TRV BLR
TRV GOI
TRV AMD
TRV CCJ
bash中的版本,假设机场列表位于
a.txt
文件中:一行:
将输出:
一个简单的
awk
脚本就可以做到这一点。只需将行中的所有元素存储在数组中,并对每个元素对其他元素运行一个循环,而不需要重复,这是没有意义的。你知道吗将输出
相关问题 更多 >
编程相关推荐