2016-05-01 81 views
0

假設你有在bash這個字符串變量中提取集數:慶典:如何從一個字符串

filename="House Of Lies 5x02 HDTV XviD [DivxTotaL]" 

我能做些什麼,以獲得5x02一部分?

我已經嘗試使用grep沒有運氣:

echo "$filename" > grep -c '[0-9]x[0-9]{2}' 
+0

你會想要使用sed或awk。 –

回答

4

選項-c您正在通過使用grep是錯誤的

-c只有選擇行的計數寫到標準輸出。

$ echo $filename | grep -oE '[0-9]{1,2}x[0-9]{1,3}' 
5x02 

-o僅打印行的匹配部分。

-E擴展的Regex

3
echo "$filename" | egrep -o '[0-9]x[0-9]{2}' 

>file重定向輸出到文件; |cmd將其管理到另一個命令。 -c計算匹配的數量,這在這裏沒有用; -o輸出匹配的字符串。爲了能夠使用{2},您需要啓用擴展正則表達式,其中egrep可以。