9つのファイルがあるディレクトリがあります。
- 1は次に終わります
.bat
- 2は次に終わります
.bak
- 4は次に終わります
.txt
- 2は次に終わります
.xtxt
.txt
私の質問は、ピリオドなしで終わるファイルだけを一覧表示するにはどうすればよいですか?だから.txt
私はコマンドを使用せずにエンド4を表示したいと思います。
ls *.txt
ピリオドのあるファイルをフィルタリングしたくないからです。今ワイルドカードについて学んでいるので、ここではワイルドカードを使います。どういうわけかそのコマンドを使うべきだと思いますが!
、どこで使うべきかわかりません。
ベストアンサー1
私は理解できません。なぜ.
.とにかくインクルードの代わりに特定の文字クラスを使用できますが、.
ディレクトリ内の他のクラスは使用できません。この目的に適した候補は次のとおりです[[:punct:]]
。
LC_ALL=C ls -- *[[:punct:]]txt
C
これに依存する文字クラスにロケールを変更し、正しいファイルで始まるすべてのファイルを一覧表示するオプションを--
追加しました。ls
-
定義:
`[:punct:]'
Punctuation characters; in the `C' locale and ASCII character
encoding, this is `! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \
] ^ _ ` { | } ~'.