1
刪除線`vu`我有下面的測試數據:如何從一個文件時行`uv`已經存在使用unix命令
a b
a c
b a
b c
b d
c a
c b
c d
d b
d c
,我想,當行u v
已經存在使用刪除線v u
unix命令。比如在這裏我想獲得:
a b
a c
b c
b d
c d
我曾與一個awk腳本,但對長文件試圖花費太多的時間:
{
if(NR==1){
n1=$1
n2=$2
test=0
k=0
i = 0
column1[i]=$1
column2[i]=$2
printf "%s %s\n", column1[i], column2[i]
}
else{
for(k=0; k<=i;k++){
if(column1[k]==$2){
test=1
tmp=i
break
}
}
if(test==1){
if(column2[tmp]==$1){
n1=$1
n2=$2
}
}
else if(n1!=$1||n2!=$2){
n1=$1
n2=$2
i++
column1[i]=$1
column2[i]=$2
printf "%s %s\n", column1[i], column2[i]
}
test=0
}
}
是否有人有想法?