テキストがあると考えてください:
<li><a href="link">text1</a>
「リンク」(text1の前のURL)を取得する最速の方法は何ですか。
同じケースを考えると、リンクに続くテキストを見つけることができるでしょうか。「リンク」を提供すると、text1を取得することが期待されます。
リンクを取得
grepを試してください
grep -Po '(?<=href=")[^"]*' file
あなたの例でテストしてください:
kent$ echo '<li><a href="link">text1</a>'|grep -Po '(?<=href=")[^"]*'
link
テキストを取得する
「リンク」を変数に保存するとしますl
。
grep -Po "(?<=href=\"$l\">)[^<]*"
テキストをくれます
あなたの例で試してください:
kent$ l=link
kent$ echo '<li><a href="link">text1</a>'|grep -Po "(?<=href=\"$l\">)[^<]*"
text1
使用sed
:
「リンク」を見つけるには:
echo '<li><a href="link">text1</a>' | sed 's/.*"\([^"]\+\)">text1.*/\1/'
「text1」を見つけるには:
echo '<li><a href="link">text1</a>' | sed 's/.*"link">\([^<]\+\).*/\1/'
正規表現grep
の使用:Perl
「リンク」を見つけるには:
echo '<li><a href="link">text1</a>' | grep -oP '[^"]*(?=">text1)'
「text1」を見つけるには:
echo '<li><a href="link">text1</a>' | grep -oP '(?<="link">)[^<]*'