[解決済み] ファイル内検索と置換、ファイルの上書きがうまくいかず、ファイルが空になってしまう
2022-03-16 04:47:20
質問
コマンドラインからHTMLファイルの検索と置換を実行したい。
私のコマンドは次のようなものです。
sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html > index.html
これを実行し、その後ファイルを見ると、空っぽになっています。ファイルの中身が削除されてしまったのです。
再度ファイルを復元した後にこれを実行すると
sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html
は
stdout
はファイルの内容で、検索と置換が実行されました。
なぜこのようなことが起こるのでしょうか?
どうすればいいですか?
このとき
シェル
を見ると
> index.html
をコマンドラインで開くと、ファイル
index.html
に対して
書き込み
で、以前の内容をすべて消去します。
これを修正するためには
-i
オプションに
sed
を使用すると、インラインで変更を行い、元のファイルのバックアップを作成してから、インプレースで変更を行います。
sed -i.bak s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html
.bakがないと、Mac OSXなど一部のプラットフォームでコマンドに失敗します。
関連
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] ディレクトリが存在しない場合のみmkdirする方法は?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] time(1) の出力における 'real', 'user' および 'sys' はどのような意味ですか?
-
[解決済み] Bashでファイルの中身をループする
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
-
[解決済み] 整数の合計を1行に1つずつ表示するシェルコマンド?
-
[解決済み] Unixシェルスクリプトは、スクリプトファイルが存在するディレクトリを見つけることができますか?
-
[解決済み] シェル(BASH/ZSH/SH)でファイルの絶対パスを取得する方法を教えてください。
-
[解決済み】ディレクトリとサブディレクトリのsedによる検索と置換
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] usr/bin/envはどのような効果があるのでしょうか?
-
[解決済み] date: 余分なオペランド %d' エラー
-
[解決済み] テキストファイルから、特定の文字列を含むすべての行を削除するにはどうすればよいですか?
-
[解決済み] ファイルの行の順番を逆にするにはどうすればよいですか?
-
[解決済み] wget を使って任意のファイルを含むディレクトリを再帰的に取得する
-
[解決済み】Curlでレスポンスと一緒にhttpステータスコードも返すようにした
-
[解決済み] シェルスクリプトで呼び出された関数から値を返す
-
[解決済み] makefileでシェル環境変数を取得するには?
-
[解決済み] 別のtmuxセッションの中でtmuxセッションを開いたときに、コマンドを送信するにはどうすればよいですか?
-
[解決済み] カンマで区切られたシェル変数をループする