2013-06-27 74 views

回答

1

什麼

cut -d/ -f3 

-d/是斜槓分隔符

-f3意味着第三列

2

使用SED,沒有任何位置的假設:

echo 'GINC/weary/crazy/RMSD=2316' | \ 
     sed -n 's!.*/\([^/]*\)/RMSD=2316.*!\1!p' 
2

隨着awk

awk -F/ '{for(i=1;i<=NF;i++) if($i=="RMSD=2316") print $(i-1)}' t 
1

既然你已經標誌着這個bash

var='GINC/weary/crazy/RMSD=2316' 
var1=${var%/RMSD=2316} 
echo $var1 
echo ${var1##*/} 
1

您可以使用sed

sed 's/.*\/\([^\/]\+\)\/RMSD=2316/\1/' 

這導致了一個斜槓的所有文本匹配,俘獲所有非正向以/RMSD=2316爲前綴的斜線字符,並用捕獲的字符替換整個匹配。

1

Perl的解決方案:

str=GINC/weary/crazy/RMSD=2316 
echo "$str" | perl -ne 'print "$1\n" if m|.*?/.*?/(.*)/RMSD=2316|' 
相關問題