如何过滤"<torrent:magnetURI><![CDATA["
和"]]></torrent:magnetURI>"
内的任何内容,以便使用grep输出字符串“EXAMPLE”?
<torrent:magnetURI><![CDATA[EXAMPLE]]></torrent:magnetURI>
我正在尝试将网络中的所有磁铁网址添加到传输中。
for url in $(wget -q -O- "http://sample.com/rss.xml" | grep -o '<torrent:magnetURI><![CDATA["[^"]*' | grep -o '[^>]*$'); do
transmission-remote localhost:9091 -a "$url";
done
答案 0 :(得分:1)
您可以使用:
$ grep -Po '(?<=<torrent:magnetURI><!\[CDATA\[)\w*(?=\]\]>)' file
EXAMPLE
请注意,它正在使用后面的内容并期待(?<=before)\w*(?=after)
,同时也可以转义[
:
(?<=<torrent:magnetURI><!\[CDATA\[)\w*(?=\]\]>)
------------------------------- --- -----
string to find before | string after
string matched