htmlで文字列を置き換える必要があります。 sed は機能しません。

htmlで文字列を置き換える必要があります。 sed は機能しません。

これは私が使用するシェルスクリプトのコードです。

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

おすすめ記事