Вы можете использовать либо команду ls
для получения файлов, либо просто использовать «подстановку файлов» для расширения подстановочных знаков.
#!/bin/sh
for filename in 2012*; do
echo "File (by globbing) is $filename"
done
ls 2012* | while read filename; do
echo "File (via ls) is $filename"
done
Чтобы получить последний, самый простой способ - отсортировать вывод ls
:
filename=`ls -r 2012* | head -1`
Но вы также можете просто взять хвост, если хотите быть грязным.
for filename in 2012*; do
echo "File (by globbing) is $filename"
done | tail -1