0

I need to lift the YouTube link from some text which looks like this:

[youtube=http://www.youtube.com/v/qpbAe2HyzqA&hl=en&fs=1&]

Can anyone help?

4

2 回答 2

2

Try something like this:

\[youtube=(https?://[^\]]+)\]

于 2009-07-07T01:23:06.560 回答
0

你可以使用awk。

awk ' FS="[" {print $(NF) } ' file_with_text > temp.txt
awk ' FS="]" {print $(NF-1)} ' temp.txt > results.txt

它分为两部分使其更清晰,因为 awk 那样奇怪。如果您只需要 URL 而不是 youtube=,那么您将需要使用 FS="youtube=" 等文件分隔符运行 awk。awk 的输入也可能很奇怪;如果 file_with_text 在第一行有文本,它可能会表现得很奇怪,如果文件以您选择的文件分隔符结尾,那么 awk 可能会出错(只需将 FS 符号以外的任何文本添加到文件末尾)。

编辑:删除了 cat 功能。作为一个教学答案似乎不太清楚,但它更简洁。

于 2009-07-07T01:53:12.720 回答