これは私が使用するシェルスクリプトのコードです。
sed 's/xyxx/$date1/' /u001/Scripts/abc.html > /u001/Scripts/abc.html
このコードは、AWK コマンドで HTML タグを印刷しようとします。
nawk 'BEGIN{
FS=","
print "<HTML>""<HEAD>""<p>Hi All,<br><br>There are no cases closed on the"
print "xyxx that meet the criteria for submission</p>"
}
END{
print "<p>Regards,<br>Support Team</p></BODY></HTML>"
}
'
ベストアンサー1
このコマンドでは
sed 's/xyxx/$date1/' /u001/Scripts/abc.html > /u001/Scripts/abc.html
リダイレクトが最初に発生します!したがって、シェルは書き込み用/u001/Scripts/abc.html
に開いて空になります。その後、sed
コマンドは実行されますが、入力ファイルが空であるため、出力もありません。
コメントが示すように、以下を使用する必要があります。
sed -i.bak 's/xyxx/'"$date1"'/' /u001/Scripts/abc.html
これは
- 拡張バックアップでファイルを作成
.bak
し、元のファイル(-i.bak
)を上書きします。 - そして、使用される変数の値は
$date1
二重引用符で囲まれているため、式の残りの部分とは異なりますsed
。