2014-01-09 66 views
1

我的文件名是這樣的F1616L_GATCAG_L002_R2_001,我想在第一個下劃線_之前提取名稱,在這種情況下,F1616Lshell腳本正則表達式幫助需要

我是一個shell腳本正則表達式的新手,有人可以幫助這個嗎?

我很感激。

回答

4

你可以做到這一點使用bash字符串操作:

s='F1616L_GATCAG_L002_R2_001' 
echo "${s%%_*}" 
F1616L 

UPDATE:_後得到第2部分:

[[ "$s" =~ ^[^_]+_([^_]+) ]] && echo ${BASH_REMATCH[1]} 
GATCAG 
+0

或'回聲 「$ {S/_ *}」' – janos

+1

它的作品,非常感謝你! – TonyGW

+0

如何提取第一個「_」和第二個「_」之間的部分?在這種情況下,如何獲得「GATCAG」?謝謝 – TonyGW