タグ

置換に関するcancer6のブックマーク (2)

  • sedを使って複数ファイルの文字列を一気に置換する - うめすこんぶ

    ブログ初のLinuxねた。 ファイルの特定の文字列を置換したいときがよくあります。 Emacsなら、M-x replace-stringで済むのですが、複数ファイルに一気に置換をかけたいときは Emacsだとめんどそう。ではどうするのか、と考えました。 結論 shellで以下のコマンドを実行。 find ファイル名 | xargs sed -i "s/置換前/置換後/g" 「ファイル名」は、file-rev1.txt、file-rev2.txtとかならfile-rev*.txtなどで複数選択します。 sedは文字列置換のコマンドになります。 sed -iのオプション付きですと、ファイルの文字列を直接書き換えます。なぜこんなことを言うかというと、 sedは通常だと標準出力に出力されて、ファイル自体をいじらないからなのです。 find ディレクトリ名 -type fの形で、-type fのオ

    sedを使って複数ファイルの文字列を一気に置換する - うめすこんぶ
  • 【 sed 】 文字列の置換,行の削除を行う

    sedは与えられた文字列を,ルールに従って変換するコマンドだ。例えば,文字列の置換,行の削除といった処理が行える。 変換に利用できるルールには下表「sedの条件式」のような条件式が利用できる。例えば,文字列を挿入したい場合は「a」や「i」の後に挿入する文字列を指定する。文字列を置換したい場合は「s/置換ルール/置換文字/」と実行する。 置換ルールの最初に数値を指定すると,指定した行のみが処理される。例えば,「3d」と指定すると,3行目が削除される。 sedコマンドで実際に変換を行う場合は,変換処理内容は「-e」オプションを指定した後に記述する。また,sedコマンドに指定したファイルの内容を処理する。例えば,source.txt内のLinuxをリナックスに置換したい場合は,次のように実行する。 $ sed -e "s/Linux/リナックス/g" source.txt 結果は標準出力(ディス

    【 sed 】 文字列の置換,行の削除を行う
  • 1