いくつかのファイルにタブ文字(ASCII 0x09)が存在するかチェックしたいと思います。 (私のソースは、リポジトリにコミットする前にタブフリーであることを主張する)ファイル内のタブレータをチェックする方法は?
標準ツールを使用することを推奨します。もちろんgrepが心に湧いてきますが、明らかにgrep "\t" file.txt
と一致しません...?!?
私は答えがおそらく痛いほど単純だと思いますが、私は迷っています。
いくつかのファイルにタブ文字(ASCII 0x09)が存在するかチェックしたいと思います。 (私のソースは、リポジトリにコミットする前にタブフリーであることを主張する)ファイル内のタブレータをチェックする方法は?
標準ツールを使用することを推奨します。もちろんgrepが心に湧いてきますが、明らかにgrep "\t" file.txt
と一致しません...?!?
私は答えがおそらく痛いほど単純だと思いますが、私は迷っています。
当然、grepは気にしますが、明らかにgrep "\ t" file.txtは一致しません...?!?
これは、リテラル文字t
を検索します。 grep
でタブリテラルを検索するには、通常、シェルにリテラル挿入メソッドがあります。たとえば、bash
では、grep $'\t' foo.txt
を使用します。
$ '\ tの' の代わりの\ tの
てみてください私はgrepのは、エスケープシーケンス\t
を理解して信じていません。リテラルタブを挿入してみてください:
grep "<tab>" file.txt
または、代わりにawkを使用できます。
上記の2つの答えは正しいです。あなたが言及する "リテラル"タブは、コマンドラインには挿入されずにbashによって解釈されます。 – DevSolar
私が言ったように、リテラルタブを挿入する必要があります。ほとんどのシェルには、リテラルタブを挿入する方法があります。シーケンスCtrl-V、bashのTabなど。 –
...元の投稿はシェルのタイプを一度も言及していないので、私はこれをあなたに残して、タブ文字を適切な方法で挿入しました。 –
はい、動作します。私は\ t、\ nなどがシェルコマンドでそのまま動作していなかったことに気づいていませんでした。 – DevSolar