Digamos que su archivo sigue este patrón file-1.2.0-SNAPSHOT.txt para que pueda ser como file-1.2.0-SNAPSHOT.txt o archivo-1.3.0-INSTANTÁNEA.txt o archivo-1.5.1-INSTANTÁNEA.txt etc., entonces puede obtener los archivos usando un comando de búsqueda como este :-
find . -type f -iname "*SNAPSHOT.txt"
Le dará todos los archivos que terminan con SNAPSHOT.txt y luego puedes usarlo para hacer tu trabajo.
Punto(. ) en buscar puede ser un directorio principal que debería contener el archivo. Me gusta como
find ~/my_files/ -type f -iname "*SNAPSHOT.txt"
Creo que lo que estás tratando de hacer es copiar solo la última versión.
#!/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 selección se realiza a través de la opción -name y la acción se realiza a través de la opción -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
' {} {} \;