使用AWK或SED在两个字符串之间提取数据

L P*_*L P 1 awk sed

我正试图从一个包含它们的文件中提取数据/网址(在本例中为someurl),即.

xyz>someurl>xyz
Run Code Online (Sandbox Code Playgroud)

我不介意使用任何一个awksed.

fed*_*qui 7

我认为最好,最简单的方法是cut:

$ echo "xyz>someurl>xyz" | cut -d'>' -f2
someurl
Run Code Online (Sandbox Code Playgroud)

随着awk可以做这样的:

$ echo "xyz>someurl>xyz" | awk  'BEGIN { FS = ">" } ; { print $2 }'
someurl
Run Code Online (Sandbox Code Playgroud)

而且sed有点棘手:

$ echo "xyz>someurl>xyz" | sed 's/\(.*\)>\(.*\)>\(.*\)/\2/g'
someurl
Run Code Online (Sandbox Code Playgroud)

我们得到块something1<something2<something3并打印第二个.