11

次の形式のタイムスタンプ付きファイルを含むディレクトリがあります。

processAlpha20120618.txt
processAlpha20120619.txt
processAlpha20120620.txt
processBeta20120618.txt
processBeta20120619.txt
processBeta20120620.txt
... etc.

特定の日付のこれらのリストが必要です。このようなもの:

ls -l *201206[19|20|21]*

明らかに上記は機能しませんが、私が達成しようとしていたことがわかります。文字列「201206」の後に「19」、「20」、「21」のいずれかが続くものに一致させたい。

これはgrepまたはfindを使用して可能であることを知っていますが、 lsを使用して実行できるかどうか疑問に思いました。

4

2 に答える 2

24

正確な日付(あなたがそうであるように見える)を一致させたい場合、bash拡張を使用して一致させる方法は次のとおりです。

ls -l *201206{19,20,21}*
于 2012-06-22T11:01:11.157 に答える
8

lsはこれを行いません - シェルは*etc を展開し、それらをls引数として に渡します。

シェルのドキュメントを見てください-コールグロビングです

于 2012-06-22T10:57:22.687 に答える