Mac で複数ファイルの一括置換作業をすることになった。Windows ではフリーのアプリがたくさんあるが、Mac ではなかなか適当なものが見つからず、コマンドラインでの作業がベストと判断。
■コマンドライン
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
find ./ -name "*.xml" -exec perl -i -pe 's|<br>\r||g' {} \;
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
意味:このディレクトリ以下の全てのxmlファイルの<br>を取り除く
□ Mac = ¥r Windows = ¥r¥n
□オプション
find [dir name] :条件に合うファイルを指定したフォルダ以下から探す
-name "[target name]": 名前で検索、*はワイルドカード
-exec [cmd] {}:見つかったファイルのパスを{}に代入してcmdの内容を実行
\; : ここで終わ
perl:実行するのはperl
-e :perlを実行して処理後perlを終了
-p :置換をファイルの先頭から最後までループ
-i:複数ファイル一括処理
's|[a]|[b]|': aをbに置換
g:繰り返し置換
Leave a Reply