特定のパターンに一致するファイルを探し、そのファイル名をシェルスクリプトの変数に値として割り当てますか?

特定のパターンに一致するファイルを探し、そのファイル名をシェルスクリプトの変数に値として割り当てますか?

私はシェルスクリプトの変数にファイル名を割り当てる方法を探しています。しかし、私のファイルの名前は次の形式で指定されます。ファイル-1.2.0-SNAPSHOT.txt

ここの数字は時々変更されることがあります。これで、このファイル名を変数に割り当てる方法は?正規表現を使用できますか?またはgrep?または探す?または文書

私のディレクトリには、次のファイルが含まれています。

file-1.2.0-SNAPSHOT.txt
newFile-1.0.0.txt
sample.txt

私のスクリプトスクリプトファイル:

file_path="/home/user/handsOn"
var=$file_path/file-1.2.0-SNAPSHOT.txt
newLocation=/new_path
cp $var $newLocation

これでファイルのバージョンが時々変わります。私のスクリプトはすべてのバージョン番号で動作するはずです。

一致するファイル名を変数に割り当てるには?助ける。ティア

ベストアンサー1

ファイルがfile-1.2.0-SNAPSHOT.txtパターンに従うと仮定すると、次のようになります。ファイル-1.2.0-SNAPSHOT.txtまたはファイル-1.3.0-SNAPSHOT.txtまたはファイル-1.5.1-SNAPSHOT.txtしばらく待つと、以下のようにfindコマンドを使用してファイルをインポートできます。

find . -type f -iname "*SNAPSHOT.txt" 

次に終わるすべてのファイルを提供します。スナップショット.txtその後、これを使用して操作を実行できます。

指す()存在する探すファイルを含める必要がある親ディレクトリにすることができます。ように

find ~/my_files/ -type f -iname "*SNAPSHOT.txt" 

おすすめ記事