私は与えられた正規表現に基づいてファイルをフィルタリングする汎用シェルスクリプトを書いています。名前がタイムスタンプであるフィルタフォルダ - findユーティリティによるパターンマッチングと正規表現のマッチング
私のシェルスクリプト:例1で
files=$(find $path -name $regex)
(フィルタには)、私はディレクトリ内のフォルダをフィルタリングする、フォルダの名前は以下の形式である:
20161128-20:34:33:432813246
YYYYMMDD-HH:MM:SS:NS
正しい正規表現に到着できません。
正規表現'*data.txt'
を使用して、フォルダ内のファイルのパスを取得できました。そのファイル内のファイルの名前はわかっています。
しかし、それは私にファイルのフルパスを与え、私がしたいことは、単純である
/path/20161128-20:34:33:432813246/data.txt
のようなもの:
/path/20161128-20:34:33:432813246
私の要件
の正しい正規表現を識別するのに私を助けてください注:
私は
files=$(find $path -name $regex)
後にデータを処理する方法を知っている。しかしスクリプトは多くのユースケースのための汎用的である必要があるため、私は渡す必要がある正しい正規表現を必要としています。
これはワイルドカードの正規表現ではありません。 –
あなたは、私が必要とするのはワイルドカードで正規表現ではないということですか? – ADPK
いいえ、私はあなたが 'find'で正規表現を使うことができないことを意味しました。ワイルドカードパターンのみ(ワイルドカードを使用) –