Katakanlah file Anda mengikuti pola ini file-1.2.0-SNAPSHOT.txt jadi bisa seperti file-1.2.0-SNAPSHOT.txt atau file-1.3.0-SNAPSHOT.txt atau file-1.5.1-SNAPSHOT.txt dll. maka Anda bisa mendapatkan file menggunakan perintah find seperti ini :-
find . -type f -iname "*SNAPSHOT.txt"
Ini akan memberi Anda semua file yang diakhiri dengan SNAPSHOT.txt lalu Anda dapat menggunakannya untuk melakukan pekerjaan Anda.
Titik(. ) di temukan bisa menjadi direktori induk yang harus berisi file. Seperti
find ~/my_files/ -type f -iname "*SNAPSHOT.txt"
Saya pikir apa yang Anda coba lakukan adalah hanya menyalin versi terakhir.
#!/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"
pemilihan terjadi melalui opsi -name dan tindakan dilakukan melalui opsi -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
' {} {} \;