2017-04-05 7 views
1

私はBibTexエントリをダウンロードしていますが、多くの場合、出力PDFには表示されないランダムな文字があります。このリストは包括的ではありません(私が入力できないランダムな外国語の文字)。grepキーボード以外の文字

私は

grep -nP '[^a-zA-Z0-9\/,[email protected]#$%^&*()_]' ~/Documents/Library.bib 

のようなものを試してみたが、これよりももっと簡単な方法があるように持っています。

私はキーボードで入力できない文字に対してgrepやperl正規表現を使用するにはどうすればよいですか?私がアクセント付きの "n"を持っていれば、私はそれを知ることができる何らかの方法がありますか?

+0

キーボードのレイアウトに関する情報は、お使いのオペレーティングシステムによって異なります。 Linux、BSD、またはMacを使用していますか? – Socowi

+0

@SocowiこれはUbuntu Linuxです – con

+1

'Library.bib'ファイルはどのエンコーディングですか? –

答えて

3

ASCII文字セット内の任意の文字に一致するPOSIX文字クラス[:ascii:]を使用できます。

grep -nP '[^[:ascii:]]' ~/Documents/Library.bib 

か、また、非ASCII文字を強調表示する:

grep --color=auto -nP '[^[:ascii:]]' ~/Documents/Library.bib 

ためRegular-Expression.infoでヌーのgrepのマニュアルでCharacter Classes and Bracket ExpressionsPOSIX Bracket Expressionsを参照してください。非ASCII文字を含むすべての行を印刷するには詳しくは。

参考:How do I grep for all non-ASCII characters in UNIX

関連する問題