私はたくさん.htmlファイルの<の後にメタタグを追加する必要があります。頭>各ファイルのオープンタグ。
どうすればいいですか?
vim
ミッションに合うか?
答え1
では、vim
次のことができます。
:%s/<head\b[^>]*>/& <meta foo="bar">/g
GNUでもこれを行うことができますがsed
、これはより適切かもしれません。
for file in *.html; do
sed -i 's/<head\b[^>]*>/& <meta foo="bar">/g' "$file"
done
-i
シンボリックリンクが壊れる可能性があることに注意してください。
答え2
sed -i '/PATTERN/ a\
Line which you want to append' filename
この例の場合
sed -i '/<HEAD>/a <meta>' test.txt
<HEAD>
<HEAD>
結果:
<HEAD>
<meta>
</HEAD>
上記のコマンドは、文字列一致後に新しい行を追加します。ただし、ファイルの入力文字列
<HEAD><TITLE></TITLE>
</HEAD>
結果:
<HEAD><TITLE></TITLE>
<meta>
</HEAD> //which is wrong.
おそらく、次のアプローチを試してみることができます。
sed -i 's/<HEAD>/<HEAD><meta>/' filename