非ASCIIキーボード文字を含むすべての行を削除するにはどうすればよいですか?
正規表現コードを何度も試しましたが、このコード_[^\x00-\x7F]+
_を試しても、すべての文字が選択されませんでした。
私の頭に浮かぶアイデアは、[^a-z0-9``~!@#$%^&*()-_=+[]{}\|;:'"<>,./?]
をこのように使用することですが、一部の文字が_\
_ _/
_ _|
_ _{
_ _}
_ _[
_ _]
_ _$
_ _#
_ _^
_ _(
_ _)
_
下のリストにない文字が行に含まれている場合は、その行を削除するか、ブックマークまたはブックマークします
_0123456789`~!@#$%^&*()-_=+[]{}\/|;:'"<>,.?
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
_
簡単な例:このような文字は次の場所にあります: https://en.wikipedia.org/wiki/List_of_Unicode_characters
_0123456789`~!@#$%^&*()-_=+[]{}\|;:'"<>,./?
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
¤©ª«¬¯°±²³´µ¶·¸¹º»¼½¾¿÷ÆIJŒœƔƕƋƕ
ƜƝƢƸƾDžNJNjǽǾǼɁɀȾɎʒəɼʰʲʱʴʳʵʶʷʸˁˀˇˆ˟ˠ
˩˧Ͱͱͳʹͼͻͺ͵ͿΏΔΘΞΛΣΠΦΧΨΩΪΫάέήίΰαβδε
θηκλμξπςρφχψωϊϋϏώϑϐϓϒϔϕϖϠϟϞϝϜϡϢ
ϤϣϧϫϬϮϯϰϱ₠₡₢₣₤₥₦₧₨₩₪₫€₭₮₯₰₱₲
₳₴₵₶₷₸₹₺₻₼₽₾₿⅐⅑⅒⅓⅔⅕⅖⅗⅘⅙⅚⅛⅜
⅝⅞⅟℠℡™℣ℤ℥Ω℧ℨ℩KÅℬℭ℮ℯ⇀⇁ↀↁↂↃↄ
⇔⇕⇖⇗⇘⇙⇚⇛⇜⇝⇞⇟⇠⇡⇢⇣⇤⇥⇦⇧⇨⅀⅁⅂⅃⅄ⅅ
ⅆⅇⅈⅉ⅊⅋⅌⅍ⅎ⅏ⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽ
_
期待される結果:
_0123456789`~!@#$%^&*()-_=+[]{}\|;:'"<>,./?
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
_
_[^\x00-\x7F]
_は正常に機能しますが、[^a-z0-9``~!@#$%^&*()-_=+[]{}\|;:'"<>,./?]
のような長い文字クラスを使用する場合は、特別な意味を持つ文字をエスケープする必要があります(つまり、_-[]\
_と改行_\r
_、_\n
_。
正規表現は次のようになります。
_ [^a-z0-9``~!@#$%^&*()\-_=+\[\]{}\\|;:'"<>,./?\r\n]
# ^ ^ ^ ^ ^^^^
_
[^a-z0-9``~!@#$%^&*()\-_=+\[\]{}\\|;:'"<>,./?\r\n]+$
ただし、_[^\x00-\x7F]
_は正常に機能し、読みやすくなりますLEAVE EMPTY
_与えられた例の結果:
_0123456789`~!@#$%^&*()-_=+[]{}\|;:'"<>,./?
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
_
Notepad ++では、これは簡単です。
メニュー検索> マーク...
何を見つける:[^\x00-\x7F]
☑マークライン
(•) 正規表現
すべて検索を押します
メニュー検索> ブックマーク> ブックマークされた行を削除
ソリューションにとらわれず、Notepad ++に固定されていない場合は、ここで示したように、Win 10用のbashをインストールできます https://superuser.com/a/1252271/71521 (申し訳ありませんが、いつも戻ってきますLinuxの回避策であなたの質問に;))
残念ながら、アポストロフィも失うという解決策があります_'
_
cd /mnt/c/path/folder
_でファイルが配置されているフォルダーに移動します(ドライブC:は/ mnt/cにあります)ファイルの名前がfoo.txtの場合、ファイルbar.txtを生成できます。 -)このコマンドで:
cat foo.txt | tr -cd '[:alnum:]\n\r~!@#$%^&*()-_=+{}\|;:<>,./?"`' | sed '/^$/d' > bar.txt
パーツの説明:
_cat foo.txt
_はテキストファイルを出力し、パイプを使用して_|
_出力はコマンド__tr -cd
_にリダイレクトされ、その後_'...'. Followed by a pipe to
_ sed _to remove the empty lines. Last but not least with
_> bar.txt`出力をファイルにリダイレクトしますbar.txt
おかげで: