我正在使用 GNU bash,版本 4.2.20(1)-release (x86_64-pc-linux-gnu)。我有一个音乐文件列表,我转储到一个变量中:$pltemp
.
例子:
/Music/New/2010s/2011;Ziggy Marley;Reggae In My Head
我希望在 Master-Music-List.txt 中对上面的第三个字段进行 grep,然后为第二个字段继续另一个 grep。如果两者都匹配,则打印 else echo "Not Matched"。
因此,上面将搜索歌曲标题(Reggae In My Head),然后确保它在同一行中有艺术家“Shaggy”,以获得成功。
到目前为止,非变量 grep 的成功;
$ grep -i -w -E 'shaggy.*angel' Master-Music-MM-Playlist.m3u
$ if ! grep Shaggy Master-Music-MM-Playlist.m3u ; then echo "Not Found"; fi
$ grep -i -w Angel Master-Music-MM-Playlist.m3u | grep -i -w shaggy
我不确定如何最好地构建要处理的“整个”列表。
- 我想在一行上做到这一点。
我用它来将列表转储到变量$pltemp
中......
原来的:\Music\New\2010s\2011\Ziggy Marley - Reggae In My Head.mp3
$ pltemp="$(cat Reggae.m3u | sed -e 's/\(.*\)\\/\1;/' -e 's/\(.*\)\ -\ /\1;/' -e 's/\\/\//g' -e 's/\\/\//g' -e 's/.mp3//')"