我想抓住“ - ”之后的部分,并将它与下面的字母字符串组合成一个tab-output。我试过像cut -d "*-" -f 2 <<< "$your_str"
这样的东西,但我不知道怎么做整个洗牌。
输入:
>1-395652
TATTGCACTTGTCCCGGCCTGT
>2-369990
TATTGCACTCGTCCCGGCCTCC
>3-132234
TATTGCACTCGTCCCGGCCTC
>4-122014
TATTGCACTTGTCCCGGCCTGTAA
>5-118616
输出:
TATTGCACTTGTCCCGGCCTGT 395652
TATTGCACTCGTCCCGGCCTCC 369990
答案 0 :(得分:3)
awk
救援!
awk -F- '/^>/{k=$2; next} {print $0, k}' file
答案 1 :(得分:1)
使用GNU sed:
sed -nE 'N;s/.*-([0-9]+)\n(.*)/\2\t\1/p' file
输出:
TATTGCACTTGTCCCGGCCTGT 395652 TATTGCACTCGTCCCGGCCTCC 369990 TATTGCACTCGTCCCGGCCTC 132234 TATTGCACTTGTCCCGGCCTGTAA 122014
答案 2 :(得分:1)
便携式sed
:
sed -n 's/.*-//;x;n;G;s/\n/ /p' inputfile
输出:
TATTGCACTTGTCCCGGCCTGT 395652
TATTGCACTCGTCCCGGCCTCC 369990
TATTGCACTCGTCCCGGCCTC 132234
TATTGCACTTGTCCCGGCCTGTAA 122014