【发布时间】:2014-04-26 11:19:39
【问题描述】:
我不是最好的脚本编写者,并且遇到了一个问题,您或许可以指导我。 我有两个文件。
(1) SYMBOL.txt(其中第 1 列和第 2 列代表 NAME 和 ID)
"UBA6" "A0AVT1"
"NBAS" "A2RRP1"
"GSAP" "A4D1B5"
"GRID2IP" "A4D2P6"
"TRAPPC13" "A5PLN9"
(2) PAIR.txt(第 1 列和第 2 列代表 ID)
A0AVT1 P62988
P06400 Q14186
Q14186 P28749
Q6NUQ1 A2RRP1
O43264 A2RRP1
我需要将SYMBOL.txt 与PAIR.txt 匹配,并将PAIR.txt 中的IDs 替换为SYMBOL.txt 中的NAMES。
(1) 我已经写了一个简单的 awk 脚本来解决这个目的,但是我也需要将 IDS 替换为根本不匹配的 NA(实际上我是做不到)。
(2) 我将输入文件 PAIR.txt 修改为输出,但我需要一个单独的输出文件(在本例中为 LL)。
我写的脚本:
awk '{print $2 $1}' SYMBOL.txt \
| sed 's/^/sed/g' \
| sed 's/\""/\//g' \
| sed 's/\"/\//g' \
| sed 's/^sed/sed -i \"s/g' \
| sed 's/$/g"/g' \
| sed 's/$/ PAIR.txt/g' \
| sh >LL
我需要的样本输出:
UBA6 NA
NA NA
NA NA
NA NBAS
请有任何建议。
【问题讨论】:
-
你知道
sed接受多个命令吗? -
@choroba
awk也是如此 :)