[解決済み] sed と grep/egrep を使った検索と置換
質問
私は
egrep -R
の後に、10個程度のユニオンを含む正規表現が続くので、以下のようになります。
.jpg | .png | .gif
などです。これはうまくいきますが、今度は見つかった文字列をすべて
.bmp
私は次のようなものを考えていました
egrep -lR "\.jpg|\.png|\.gif" . | sed "s/some_expression/.jpg/" file_it_came_form
で同じような正規表現を行うにはどうすればよいかということです。
sed
で、入力されたファイルに変更を保存するようにするにはどうすればよいかということです。
どのように解決するのですか?
このコマンドを使用します。
egrep -lRZ "\.jpg|\.png|\.gif" . \
| xargs -0 -l sed -i -e 's/\.jpg\|\.gif\|\.png/.bmp/g'
-
egrep
: 拡張正規表現を使用して一致する行を検索します。-
-l
: 一致するファイル名のみをリストアップ -
-R
: 与えられたすべてのディレクトリを再帰的に検索します。 -
-Z
使用\0
をレコードの区切り文字として使う。 -
"\.jpg|\.png|\.gif"
: 文字列のひとつにマッチします。".jpg"
,".gif"
または".png"
-
.
: カレントディレクトリの検索を開始します。
-
-
xargs
stdin を引数としてコマンドを実行します。-
-0
使用\0
をレコードの区切り文字として使う。これは-Z
のegrep
で、入力ファイル名のスペースや改行に惑わされないようにするためです。 -
-l
: パラメータとして1つのコマンドにつき1行を使用
-
-
sed
: その s トリーム エド イトール-
-i
: バックアップを取らずに、入力ファイルを出力ファイルに置き換える。 -
-e
: 次の引数を式として使用します。 -
's/\.jpg\|\.gif\|\.png/.bmp/g'
: 全ての文字列を置き換えます。".jpg"
,".gif"
または".png"
で".bmp"
-
関連
-
[解決済み] Regex:最初に出現する文字までのマッチング
-
[解決済み] bashスクリプトで「cd `echo $0 | sed 's/(.***)\/.*/**1/'` 」はどうするのですか?
-
[解決済み] 標準的な10桁の電話番号にマッチする正規表現
-
[解決済み] 正規表現のメタ文字の違いについて
-
[解決済み] Gitの履歴からコミットしたコードをgrep(検索)する方法
-
[解決済み] sedで改行をスペースに置き換えるには?
-
[解決済み] grepによるネガティブマッチング(fooを含まない行にマッチする)
-
[解決済み] 貪欲 vs. 渋い vs. 所有格の修飾語
-
[解決済み] ユーザー入力文字列を正規表現に変換する
-
[解決済み] Eclipse、正規表現による検索と置換
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Vimで正規表現に置換すると、`E488: Trailing characters`が発生します。
-
[解決済み】正規表現における括弧のエスケープについて
-
[解決済み] Scalaで正規表現を使ったパターンマッチを行うには?
-
[解決済み] .*?と.*の正規表現の違いは何ですか?
-
[解決済み] | の後をすべて削除する正規表現 (| と共に)
-
[解決済み] 文字列の最後の文字にマッチする正規表現[重複]について
-
[解決済み] 正規表現で複数行にまたがる任意の文字にマッチさせるにはどうしたらよいですか?
-
[解決済み] 郵便番号の正規表現
-
[解決済み] awk で gsub を使ってファイル中の ("./") と (".txt") の文字を検索・置換する方法
-
[解決済み] 米国通貨RegExの "ベスト "は何か?