Awk 具有不同列数的irst文件。 SomeFile.CEL SomeOtherFile.CEL probe1 111 666 probe2 222 777 probe3 333 888 probe4 444

Awk 具有不同列数的irst文件。 SomeFile.CEL SomeOtherFile.CEL probe1 111 666 probe2 222 777 probe3 333 888 probe4 444,awk,sed,Awk,Sed,具有不同列数的irst文件。 SomeFile.CEL SomeOtherFile.CEL probe1 111 666 probe2 222 777 probe3 333 888 probe4 444 999 probe5 555 100 probe6 101 102 probe1 Gene1 probe2 Gene2 probe3 Gene3 probe4 Gene4A probe4 Gene4B

具有不同列数的irst文件。
        SomeFile.CEL    SomeOtherFile.CEL
probe1  111     666
probe2  222     777
probe3  333     888
probe4  444     999
probe5  555     100
probe6  101     102
probe1  Gene1
probe2  Gene2
probe3  Gene3
probe4  Gene4A
probe4  Gene4B
probe5  Gene5
probe7  Gene6
Gene1 111 666
Gene2 222 777
Gene3 333 888
Gene4A 444 999
Gene4B 444 999
Gene5 555 100
awk -F"\t" 'FILENAME=="input1.file"{a[$1]=$1} FILENAME=="input2.file {if(a[$1]){$1="";print $0}}'   input1.file input2.file
$ awk 'NR==FNR{a[$1]=$2 FS $3; next} $1 in a{print $2, a[$1]}' file1 file2
Gene1 111 666
Gene2 222 777
Gene3 333 888
Gene4A 444 999
Gene4B 444 999
Gene5 555 100
join <( sort file2.txt) <(sort file1.txt ) | cut -d\  -f2-
 join SomeFile.CEL SomeOtherFile.CEL | awk '{$1=$NF; $NF=""; print}'
$ join <(sort SomeFile.CEL) <(sort SomeOtherFile.CEL) | awk '{$1=$NF; $NF=""; print}'
Gene1 111 666
Gene2 222 777
Gene3 333 888
Gene4A 444 999
Gene4B 444 999
Gene5 555 100
$ cat SomeFile_ManyColumns.CEL
probe1  111     666 666    111 777 888 999
probe2  222     777 111    666 999 888 777
probe3  333     888 101    102 999 888 111
probe4  444     999 876    543 321 678 101
probe5  555     100 101    543 321 666 999
probe6  101     102 888    321 543 101 678

$ join <(sort SomeFile_ManyColumns.CEL) <(sort SomeOtherFile.CEL) | awk '{$1=$NF; $NF=""; print}'
Gene1 111 666 666 111 777 888 999
Gene2 222 777 111 666 999 888 777
Gene3 333 888 101 102 999 888 111
Gene4A 444 999 876 543 321 678 101
Gene4B 444 999 876 543 321 678 101
Gene5 555 100 101 543 321 666 999
join -o 2.2,1.2,1.3 SomeFile.CEL SomeOtherFile.CEL
$ join -o 2.2,1.2,1.3 SomeFile.CEL SomeOtherFile.CEL
Gene1 111 666
Gene2 222 777
Gene3 333 888
Gene4A 444 999
Gene4B 444 999
Gene5 555 100