2017-04-02 78 views
1

我想抓住「-」之後的部分,並將它與下面的字母串組合成一個製表符輸出。我嘗試了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 
+2

是這個表格輸出嗎? – user2300940

1

隨着GNU sed的:

sed -nE 'N;s/.*-([0-9]+)\n(.*)/\2\t\1/p' file 

輸出:

 
TATTGCACTTGTCCCGGCCTGT 395652 
TATTGCACTCGTCCCGGCCTCC 369990 
TATTGCACTCGTCCCGGCCTC 132234 
TATTGCACTTGTCCCGGCCTGTAA  122014 
1

sed便攜式:

sed -n 's/.*-//;x;n;G;s/\n/ /p' inputfile 

輸出:

TATTGCACTTGTCCCGGCCTGT 395652 
TATTGCACTCGTCCCGGCCTCC 369990 
TATTGCACTCGTCCCGGCCTC 132234 
TATTGCACTTGTCCCGGCCTGTAA 122014