sed命令的模式匹配解决思路

sed命令的模式匹配

我是新手,遇到一行seq匹配的脚本读不懂,想请人帮我解释一下:
QPE_CFG="$(echo "$QPE_CFG" | sed 's/[[:space:]]*["'"'"']*-no-qtopiadesktop["'"'"']*[[:space:]]*/ /')"

其中的's/[[:space:]]*["'"'"']*-no-qtopiadesktop["'"'"']*[[:space:]]*/ /')"好复杂啊,读不太懂。
------解决方案--------------------

QPE_CFG=`echo "$QPE_CFG" 
------解决方案--------------------
 sed -e "s/[ \t]*[\"']*-no-qtopiadesktop[\"']*[ \t]*/ /"`

------解决方案--------------------
[:space:]  表示素有空白字符,包括换行 ,空格 还有制表符

["'"'"']  表示一个单引号或者双引号。
也就是把:
空白+单引号或双引号(可能多个)+-no-qtopiadesktop+单引号或双引号(可能多个)+空白
替换为空
------解决方案--------------------
楼主是说 's/[[:space:]]*["'"'"']*-no-qtopiadesktop["'"'"']*[[:space:]]*/ /' 吧?你的后面多了个)" 

其实就是把前面一大堆换成成空格,就是当中的通配符比较复杂,二楼回答不错

引用:
[:space:]  表示素有空白字符,包括换行 ,空格 还有制表符

["'"'"']  表示一个单引号或者双引号。
也就是把:
空白+单引号或双引号(可能多个)+-no-qtopiadesktop+单引号或双引号(可能多个)+空白
替换为空