データ/URL(この場合はsomeurl)をタグ内に含むファイルから抽出しようとしています。
xyz>someurl>xyz
awk
またはのどちらを使用してもかまいませんsed
。
最良の、最も簡単な方法は次のとおりだと思いますcut
:
$ echo "xyz>someurl>xyz" | cut -d'>' -f2
someurl
次のようにawk
実行できます。
$ echo "xyz>someurl>xyz" | awk 'BEGIN { FS = ">" } ; { print $2 }'
someurl
そして withsed
はもう少しトリッキーです:
$ echo "xyz>someurl>xyz" | sed 's/\(.*\)>\(.*\)>\(.*\)/\2/g'
someurl
のブロックを取得something1<something2<something3
し、2 番目のブロックを出力します。
grep は以下のものを抽出するために生まれました:
kent$ echo "xyz>someurl>xyz"|grep -Po '>\K[^>]*(?=>)'
someurl
もちろん、爆弾でハエを殺すこともできます。
kent$ echo "xyz>someurl>xyz"|awk -F\> '$0=$2'
someurl
grep
オプションをサポートしている場合P
は、先読みと後読みの正規表現を使用してurl
.
$ echo "xyz>someurl>xyz" | grep -oP '(?<=xyz>).*(?=>xyz)'
someurl
これは、最終的な答えではなく、開始するための単なるサンプルです。