あんパン

こしあん派

リポジトリ内の特定の制御文字を削除するワンライナー

$ git grep -I --name-only $'\x08' | xargs -I{} sed -i -e "s/\x08//g" {}

リポジトリ内にbackspace(^H)のような制御文字が含まれてしまっていることに気付いたとき、消すのに便利です。

  • -I でバイナリを無視する
  • $'\x' で特定のASCIIコードの文字を検索する
    • 今回はbackspace(^H == \x08)を削除したい

あたりがミソです。これとあわせて、CIやpre-commit hooksなどで制御文字を検知したり自動で削除する機構があると良さそうです。

どうぞご利用ください。