‘Mac’ タグのついている投稿
Mac で複数ファイルの一括置換ってどうしてます?
Windows だと Devas ってソフトでバッチリだったんですが、Mac ではいいソフトを見つけることができずにいます。
サブディレクトリ内のファイルも含めてまとめて置換は、今はターミナルで次の手順でやってます。
まず、find で特定拡張子のファイルリストをとって xargs で grep にわたして置換したい単語を検索。
1 | $ find . -name '*.拡張子' | xargs grep 置換したい単語 |
で、grepに -l オプションつけて置換したい単語が含まれるファイルリストをとって xargs で perl にわたして置換。
1 | $ find . -name '*.拡張子' | xargs grep -l 置換したい単語 | xargs perl -p -i.bak -e 's/置換したい単語/置換後の単語/g' |
perl の -i オプションに .bak と付けてるので元ファイルは bak という拡張子で残ります。
「perlだけでやればいいじゃん」と言われそうですが、いきなりやるのは不安なのと置換が行われてないファイルまで全てタイムスタンプが変わったりしたのでこの方法に落ち着きました。
で、置換されたファイルの内容確認して問題なければbakファイル削除。
1 | $ find . -name '*.bak' |
で確認して、
1 | $ find . -name '*.bak' | xargs rm |
完了〜。 xargs ラヴ♡
Unix系なら他でも使えると思います。
いいっちゃいいんですが、記憶力がないので思い出せる気がしません。historyがあふれるとオレ終了って感じ(なのでメモという意味もあり)。
ちなみに私がターミナルで一番使うコマンドはブッチギリで
1 | $ history | grep コマンド名 |
history ラヴ♡♡
Popularity: 21% [?]
MacでPPTP(VPN)接続しつつ、通常の接続も行えるようにする方法
MacでPPTP使ってVPN接続するようになって、いろいろと面倒だったことが解決して良かった。
と思っていたのですが、PPTPの方の優先度を上げないといけない場合は、通常の接続が駄目になってしまうようです。
VPN側にインターネットへの制限が掛かっていたりしたら、残念なことになります。
ローカルなネットワークにPPTPに繋ぎながら、それ以外は通常の経路で通信ということで下記にて解決しました。
方法としては、PPTPの優先度は通常のインターネット接続より下げておいて、特定のネットワークアクセスの場合のみPPTPインターフェースを使うようにしてあげればいいようです。VPNを接続した後、ターミナルで下記コマンドを実行すればOK。
sudo route -nv add -net 192.168.13 -interface ppp0
ただ毎回ターミナル上げるのは面倒臭いです。 ちょっと調べると、PPTPが開始するときに実行されるスクリプト(参考)があるじゃないですか。ということで
sudo vi /etc/ppp/ip-up #!/bin/sh if [ "$1" = "ppp0" ]; then /sbin/route -nv add -net 192.168.13 -interface ppp0 /sbin/route -nv add -net 192.168.15 -interface ppp0 fi
のような感じで、route add するスクリプトを書きました。
sudo chmod 744 /etc/ppp/ip-up
するのをお忘れなく。
もっと楽、シンプルな方法があったら教えてください。
Popularity: 19% [?]
