使用grep进行正则表达式格式化
发布时间:2020-12-14 05:37:15 所属栏目:百科 来源:网络整理
导读:我正在为我的应用程序解析mp3文件的IDv3标签,我正在使用id3v2.例如,要获取mp3文件的专辑名称,命令是 id3v2 -R sample.mp3 | grep "TALB" 哪个输出 TALB: Album Name 但是,我想只得到TALB的值,而不是整行,所以我将它传递给sed,如下所示 id3v2 -R sample.mp3 |
我正在为我的应用程序解析mp3文件的IDv3标签,我正在使用id3v2.例如,要获取mp3文件的专辑名称,命令是
id3v2 -R sample.mp3 | grep "TALB" 哪个输出 TALB: Album Name 但是,我想只得到TALB的值,而不是整行,所以我将它传递给sed,如下所示 id3v2 -R sample.mp3 | grep "TALB" | sed 's/TALB: //' 哪个输出 Album Name 所以,这是我的问题: >只有grep可以实现上述结果.如果是这样,我该怎么办? 解决方法
您可以将Perl样式的正则表达式与-P标志一起使用:
grep -Po '(?<=TALB: ).*' 例如: $echo "TALB: Album Name" | grep -Po '(?<=TALB: ).*' Album Name (?< = TALB :)是一个zero-width look-behind assertion.*是你要匹配的其他东西的模式 – 在第一种情况下,一切.如果您只想匹配标记字符串后面的特定字符串,就像在第二个问题中那样,那么您可以更改它以适合您的特定数据. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |