2009-04-11 3 views
0

いくつかのファイルにタブ文字(ASCII 0x09)が存在するかチェックしたいと思います。 (私のソースは、リポジトリにコミットする前にタブフリーであることを主張する)ファイル内のタブレータをチェックする方法は?

標準ツールを使用することを推奨します。もちろんgrepが心に湧いてきますが、明らかにgrep "\t" file.txtと一致しません...?!?

私は答えがおそらく痛いほど単純だと思いますが、私は迷っています。

答えて

5

当然、grepは気にしますが、明らかにgrep "\ t" file.txtは一致しません...?!?

これは、リテラル文字tを検索します。 grepでタブリテラルを検索するには、通常、シェルにリテラル挿入メソッドがあります。たとえば、bashでは、grep $'\t' foo.txtを使用します。

+0

はい、動作します。私は\ t、\ nなどがシェルコマンドでそのまま動作していなかったことに気づいていませんでした。 – DevSolar

0

てみてください私はgrepのは、エスケープシーケンス\tを理解して信じていません。リテラルタブを挿入してみてください:

grep "<tab>" file.txt 

または、代わりにawkを使用できます。

+0

上記の2つの答えは正しいです。あなたが言及する "リテラル"タブは、コマンドラインには挿入されずにbashによって解釈されます。 – DevSolar

+0

私が言ったように、リテラルタブを挿入する必要があります。ほとんどのシェルには、リテラルタブを挿入する方法があります。シーケンスCtrl-V、bashのTabなど。 –

+0

...元の投稿はシェルのタイプを一度も言及していないので、私はこれをあなたに残して、タブ文字を適切な方法で挿入しました。 –

関連する問題