テキストファイルから特定の整数を取得する方法

テキストファイルから特定の整数を取得する方法

特定の整数のすべてのインスタンスに対してテキストファイル(ソースコード)を取得する簡単な方法はありますか?これは、部分文字列として整数を含むより大きな数値に対してトリガーしてはいけませんが、両方を含めることができるため、そのような行を除外することはできません。

「6」を検索しています...

int a=6; // found
int b=16; // not found (despite the '6' in '16')
int c=6, d=16; // found

私は本当にコマンドラインの方法を探していますが、あなたがいるのかどうか疑問に思います。フリーソフトウェアGUIタイプエディタはこれを行うことができます。

ベストアンサー1

grep -E '\b6\b'

\b「単語の境界」です

-w編集:@nobarを正しい方向に指定した後、彼はマニュアルページでショートカットオプション(word-regexp)を見つけました。これは上記の内容を次のように簡略化します。

grep -w 6

頻繁に使用する場合は、次の機能を使用できます。

wgrp(){ grep -w "$1" "$2"; }

注(@glenn-jackman):ここで参照しないと、関数"$2"はパイプラインフィルタとして使用できます。しかし、そうです。スペースを含むファイル名では機能しません。

@Gillesのもう一つの素晴らしい答えを読んだ後、今すぐお勧めします。

igrp(){ grep -E "(^|[^0-9])$1($|[^0-9])" "$2"; }

おすすめ記事