OS Xのフォルダ内のすべての.phpファイルの文字を置き換える方法は?

OS Xのフォルダ内のすべての.phpファイルの文字を置き換える方法は?

次の文字を置き換える必要があります。

àと共に

âと

ワナ

řとs

śとt

代替項目は大文字と小文字を区別する必要があります。たとえば、文字が大文字の場合は大文字に置き換える必要があります。

このプロセスで使用できることを読んでいますsedが、どのように使用するのかわかりません。端末で実行する必要がある正確なコマンドを書くのに役立つ人はいますか?

ベストアンサー1

このタイプのタスクには一般的に使用されていますが、sed実際にはそのタスク用に設計されていません。名前は次のとおりです。小川編集する。

このツールは非対話型用に設計されています。文書編集はex.(vi「ビジュアルエディタ」の一形態ですex。)特にファイルをその場で編集したいex場合sed

この場合、使用されるコマンドはsed以前に提供されたコマンドとほぼ同じですが、必ずしもそうする必要はありません。以下はPOSIXに準拠しています(そして異なりますsed -i)。

for file in *.php; do ex -sc '%s/[ăâ]/a/ge | %s/ș/s/ge | %s/ț/t/ge | %s/î/i/ge | x' "$file" ; done

説明する:

-sバッチを準備するには、「自動モード」を起動します。 -c実行するコマンドを指定します。

%ファイルのすべての行に次のコマンドを適用することを意味します。コマンドs///は非常に自明です。e最後のフラグは、すべてのエラー(パターンが見つからないため)が抑制され、ファイル処理が続行されることを意味します。

|コマンド区切り記号です(パイプではありません)。

xexファイルに書き込む変更を通知します(ただし、ファイルがある場合にのみ)。はい変更)して終了します。


内部ファイルを編集したい場合は、exこのツールを選択してください。変更を適用する前にプレビューするには、以下をお勧めします。@gardenheadが提案したように使用されますtr

(もちろん、適切なバージョン管理システム(gitなど)を使用している場合は、適切に変更して実行してexファイルを以前のバージョンと比較することができますgit diff。)

おすすめ記事