find grepコマンドするとき文字化けファイルを取り除く方法

サーバー上でfindコマンドを叩き、grepしてxargsで渡す・・・
そんなコマンドを叩くときにファイル名が壊れたファイルが邪魔をする。
そんなファイルを回避するのに手こずり、応急処置を思いついてからは作業がさくサクサク進んだのでメモ。

応急処置なので、場合によっては弾きたいファイルが弾ききれないかもしれないし、除くたくないファイルが除かれるかもしれない。

※もっといいやり方あったら教えてください。

find . | grep .ini | xargs cat | grep root

こんなコマンドを叩くとき、文字化けしたり、文字コードの異なるファイルがいると途中で止まってしまう。
なので以下を書き足す。

find . | grep .ini | grep -v ‘[亜-熙]’ | xargs cat | grep root

ファイル名が想定では漢字が含まれないときにしか使えないし、化け方次第では漏れる。
しかし、私の環境ではなんとかなった。

ちなみに ‘[亜-熙]’は
第1水準と第2水準の漢字を指定している。文字化ければ大体漢字が入るだろうという雑な対応。
ちなみに文字コードがCP932なら、纊-黑を追加するといいらしい。

コメントを残す

メールアドレスが公開されることはありません。