$ git grep -I --name-only $'\x08' | xargs -I{} sed -i -e "s/\x08//g" {}
リポジトリ内にbackspace(^H
)のような制御文字が含まれてしまっていることに気付いたとき、消すのに便利です。
-I
でバイナリを無視する$'\x'
で特定のASCIIコードの文字を検索する- 今回はbackspace(
^H
==\x08
)を削除したい
- 今回はbackspace(
あたりがミソです。これとあわせて、CIやpre-commit hooksなどで制御文字を検知したり自動で削除する機構があると良さそうです。
どうぞご利用ください。