replace

replace はファイル名ではなく内部の文字列を変更します。-w がなければ対象ファイルと一致件数の表示だけです。サブフォルダーも対象にするには -r を使います。

開発バージョン 1.1.5安定版
lil-terminal

概要

-e txt,php は拡張子、-g "*.php" はファイル名で絞ります。-i は通常の文字列の大文字小文字を無視し、-p は完全な PHP 正規表現を指定します。-a は依存関係やキャッシュフォルダーも含めます。

書き込む前に対象範囲を確認

-w -b で .bak、.bak-001 などを既存のコピーを消さずに作れます。再帰検索ではバックアップを除外します。バイナリと 4 MiB 超のファイルは対象外で、最大 5000 ファイルを検索します。

構文

lil-terminal
replace <old> <new> [path] [options]

リファレンス

replace <old> <new>

現在のディレクトリのファイルで置換をプレビューする

replace <old> <new> <file>

1ファイルで置換をプレビューする

replace <old> <new> <dir> -r

ディレクトリ内を再帰的にプレビューする

-w

予定した変更を原子的に書き込む

-i

プレーンテキストを大文字小文字を区別せず照合する

-p

<old> を完全な PHP 正規表現として扱う

-e <exts>

php,js,css や tar.gz のように拡張子を制限する

-g <glob>

*.php のような glob でファイル名を制限する

-b

書き込み前に .bak を作成する

-a

vendor、node_modules、VCS、キャッシュを含める

書き込む前にプレビュー

replace はファイル名ではなく内部の文字列を変更します。-w がなければ対象ファイルと一致件数の表示だけです。サブフォルダーも対象にするには -r を使います。

対象を絞る

-e txt,php は拡張子、-g "*.php" はファイル名で絞ります。-i は通常の文字列の大文字小文字を無視し、-p は完全な PHP 正規表現を指定します。-a は依存関係やキャッシュフォルダーも含めます。

バックアップ

-w -b で .bak、.bak-001 などを既存のコピーを消さずに作れます。再帰検索ではバックアップを除外します。バイナリと 4 MiB 超のファイルは対象外で、最大 5000 ファイルを検索します。

インタラクティブな sandbox プレビュー

用意された例をページ上でそのまま実行できます。結果は事前に生成されてブラウザに表示され、サーバーではターミナルコマンドを実行しません。

変更をプレビュー

インストールと管理

現在の互換バージョンをインストールします。全機能は Base、縮小版は Minimum を選び、すでに導入済みのモジュール更新には upgrade を使います。

Base と Minimum は同じ現在のモジュールリリースの二つのパッケージです。

Base パッケージ

ローカル参照と公開済みの全モードを含む完全パッケージをインストールします。

install replace
Minimum パッケージ

縮小パッケージをインストールします。ローカルリファレンスは含まれず、help <cmd> -i で現在のサーバーリファレンスを開きます。

install replace -m
正確な公開版

この公開済みバージョンを正確に指定してインストールします。

install replace -v 1.1.5
確認または更新

upgrade が互換性を確認し、必要な場合だけブロックを置換します。

upgrade replace
モジュールを削除

コアや他のモジュールに触れず拡張ブロックを削除します。

install replace -u

例

例はコピーできますが、サイトは実行しません。実プロジェクトではパス、権限、破壊的オプションを確認してください。

変更をプレビュー
cd \sandbox | replace draft published workspace/replace.txt
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
変更を書き込む
replace draft published \sandbox\workspace\replace.txt -w
Replaced                   2 occurrences in 1 file
workspace/replace.txt      2

大文字小文字を無視
replace DRAFT published \sandbox\workspace\replace.txt -i
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
正規表現を使用
replace "~draft~" published \sandbox\workspace\replace.txt -p
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
拡張子で絞る
replace draft published \sandbox\workspace -r -e txt
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
ファイル名で絞る
replace draft published \sandbox\workspace -r -g "*.txt"
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
バックアップして書き込む
replace draft published \sandbox\workspace\replace.txt -w -b
Replaced                   2 occurrences in 1 file
workspace/replace.txt      2

Backups                    1
workspace/replace.txt.bak
依存関係フォルダーを含む
replace draft published \sandbox\workspace -r -a -e txt
Preview                3 replacements in 2 files
workspace/replace.txt  2
workspace/vendor/review.txt  1

Write                  use -w to apply changes
フォルダーをプレビュー
replace draft published \sandbox\workspace
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
存在しないパスを確認
replace draft published \sandbox\missing.txt
パスが見つかりません
無効な正規表現を拒否
replace draft published \sandbox\workspace\replace.txt -p
Invalid regular expression
二つ目の番号付きバックアップを保存
replace draft published \sandbox\workspace\replace.txt -w -b | replace published final \sandbox\workspace\replace.txt -w -b
Replaced                   2 occurrences in 1 file
workspace/replace.txt      2

Backups                    1
workspace/replace.txt.bak

Replaced                   2 occurrences in 1 file
workspace/replace.txt      2

Backups                    1
workspace/replace.txt.bak-001

この例で使うファイル: sandbox/workspace/replace.txt

例では、保護されたドキュメント用 /sandbox/ ワークスペースのファイルまたはディレクトリを使います。

status=draft
owner=lil
status=draft

関連ドキュメント

現在の公開版

v1.1.52026-10-31

Numbered backups

ディレクトリ走査では .bak、.bak-001 などを除外します。明示指定したバックアップは処理できます。