【发布时间】:2015-05-21 17:06:39
【问题描述】:
我正在编写一个脚本,用于根据提示列表将大的 FLAC 音频文件分割成小块。我使用 cueprint 来确定标签信息,但在某些情况下它不能提供我需要的信息,我需要使用 sed 直接从 cue 文件中挖掘信息。现在我正在和 GENRE 作斗争。它的问题在于它以不同的方式出现:
REM GENRE "Gothic"
REM GENRE Gothic
似乎都符合标准,但很难解析。 对于第二种情况,类似于
sed -nr -e "s/^(REM GENRE )(.*)\r/\2/p" *.cue
完美运行并按预期返回哥特式。但是对于第一种情况,返回“哥特式”,这不是我不会穿羽毛处理的。 好吧,你会说“在正则表达式的第一部分和第三部分使用“可选”引号,就像这样
sed -nr -e "s/^(REM GENRE \"?)(.*)\"?\r/\2/p" *.cue
但这并没有按预期工作,结果是
Gothic"
尾随双引号。
任何想法如何用 sed 解析带引号和不带引号的字符串?
【问题讨论】: