HTMLファイルがあり、段落要素()内のテキストを<p>
同じ大文字に置き換える必要があります。<p>hi</p>
<p>HI</p>
x=`cat $1 | grep -o '<p>.*</p>' | tr '[:lower:]' '[:upper:]'`
var2=`echo $x`
headerremove=`grep -o '<p>.*</p>' $1`
var3=`echo $headerremove`
echo $var2
echo $var3
sed 's/$var3/$var2/g' "$1"
Input
<h1>head</h1>
<p>hello</p>
Output
<p>HELLO</p>
期待どおりに動作しません。また、段落要素を除くすべてのタグやその子要素など、他のすべての詳細を削除する必要があります。
ベストアンサー1
xmllint
+sed
解決策:
xmllint --html --xpath "//p" input.html | sed 's/>[^<>]*</\U&/'
出力:
<p>HELLO</p>