しるてく

技術的な話をします

制御文字の検索と置換

背景

ブログのRSSで概要しか出していなかったところを全文出そうとしたら Input is not proper UTF-8, indicate encoding ! みたいに言われた。 おそらくどこかの記事で制御文字が含まれているのでなんとか見つけ出して撲滅したい。

やりかた

検索

git grep -IP '[[:cntrl:]](?<![\n\r\t])'

置換

find . -type f -name '*' | xargs perl -i -pe 's/[[:cntrl:]](?<![\\n\\r\\t])//g'