2017-03-07 4 views
-1

私はこの 「aaa.ext」のように見えるファイル名を含むファイルを持っているを含むテキストを除外し

「BEA」「a1a.ext」「ABC」

「PAT」
"ff#!"
"TOTO €の.pdf"
"..."
はgrep:ONLY特定の文字

私は標準英語Alphanumerals(AZ、AZ、0-9、_と。)およびその他の文字を含む行を抽出する必要があります出力は
BEAようにする必要があり、上記の例については


(àの代わりに含まれている)
PAT(EではなくEの含まれている)「のFF#!」
"TOTO €の.pdf"

任意のアイデア?事前

答えて

0

おかげも

(export LC_ALL=C.UTF-8; grep -P '[\w.]' yourFile | grep -P '[^\w.]') 

LC_ALL=C.UTF-8のように書くことができ

LC_ALL=C.UTF-8 grep '[A-Za-z0-9_.]' yourFile | 
LC_ALL=C.UTF-8 grep '[^A-Za-z0-9_.]' 

を試してみてくださいA-Zが唯一の標準英語の文字とないéなどの文字と一致することを保証します。

注:ユニコードéが本物é又は´組み合わせるeのいずれかとして符号化することができます。あなたのファイルが(コメントなし)次の2行

é # single character 
é # combination of "e" and "´" 

が含まれている場合は、上記のコマンドは、問題が少しエキゾチックです

é # combination of "e" and "´" 

を返し、多くの問題が発生することはありません。

+0

こんにちはSocowi +1の素早い対応です。提案されたコマンドは、特殊文字を強調表示しますが、 – BNT

+0

@BNT Strange ...を含まない行を除外しません。あなたの例で両方のコマンドをテストし、目的の結果を得ました。特殊文字のない行が受け入れられる別の例を作ることができますか?ここで – Socowi

+0

は、さらにいくつかの例
12である - 上記の例ではMémo.pdf
2016年4月25日ᄋ ᅩ ᄒ ᅮ 7.59.12.jpg
20161109133127734.pdf
〜9963007Opoto.pdf
。 2行目と4行目を取得する必要があります.1と3は使用しないでください。
もう一度 – BNT

関連する問題