Disons que votre fichier suit ce modèle file-1.2.0-SNAPSHOT.txt afin qu'il puisse ressembler à file-1.2.0-SNAPSHOT.txt ou fichier-1.3.0-SNAPSHOT.txt ou fichier-1.5.1-SNAPSHOT.txt etc. alors vous pouvez obtenir les fichiers en utilisant la commande find comme ceci :-
find . -type f -iname "*SNAPSHOT.txt"
Il vous donnera tous les fichiers qui se terminent par SNAPSHOT.txt et ensuite vous pouvez l'utiliser pour faire votre travail.
Point(. ) dans rechercher peut être un répertoire parent qui doit contenir le fichier. Comme comme
find ~/my_files/ -type f -iname "*SNAPSHOT.txt"
Je pense que ce que vous essayez de faire est de copier uniquement la dernière version.
#!/bin/bash
oldlocation="/file_path/"
newlocation="/new_path/"
cd "$oldlocation"
#Get the last version
file="$(ls *SNAPSHOT.txt | sort -V | tail -n1)"
cp -v "$file" "$newlocation"
echo "Everything is ok"
la sélection se fait via l'option -name et l'action se fait via l'option -exec.
find . -type f -name '*-[0-9].[0-9].[0-9]-SNAPSHOT.txt' -exec sh -c '
file=$1
# do what you want with $file as many times as you want
' {} {} \;