bash:如何从字符串中提取集号

bash:如何从字符串中提取集号,bash,Bash,假设bash中有以下字符串变量: filename="House Of Lies 5x02 HDTV XviD [DivxTotaL]" 要获得5x02零件,我可以做些什么 我尝试过与grep合作,但没有成功: echo "$filename" > grep -c '[0-9]x[0-9]{2}' 使用grep传递的选项-c是错误的 -c仅将选定行的计数写入标准输出 $ echo $filename | grep -oE '[0-9]{1,2}x[0-9]{1,3}' 5x02 -o

假设bash中有以下字符串变量:

filename="House Of Lies 5x02 HDTV XviD [DivxTotaL]"
要获得
5x02
零件,我可以做些什么

我尝试过与grep合作,但没有成功:

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

使用grep传递的选项
-c
是错误的

-c
仅将选定行的计数写入标准输出

$ echo $filename | grep -oE '[0-9]{1,2}x[0-9]{1,3}'
5x02
-o
仅打印行的匹配部分

-E
扩展正则表达式

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

>文件
将输出重定向到文件
| cmd
将其输送到另一个命令
-c
统计匹配的数量,这在这里不有用<代码>-o输出匹配字符串。要能够使用
{2}
您需要启用扩展正则表达式,而
egrep
就是这样做的。

您需要使用sed或awk。