Существует несколько способов сделать это. Вот петля:
for file in REZ-*-??-??-????.png
do
name=${file#*-}
name=${name%-??-??-????.png}
echo "($name)"
done
Учитывая разнообразие имен файлов со всевозможными крайними случаями из расстояния, дополнительный дефиса и линии каналы:
REZ-Anna-Maria,de-la-Cruz-12-32-2015.png
REZ-Bjørn,Dæhlie-01-01-2015.png
REZ-First,Last-12-32-2015.png
REZ-John Quincy,Adams-11-12-2014.png
REZ-Ridiculous example # this is one filename
is ridiculous,but fun-22-11-2000.png # spanning two lines
выводит:
(Anna-Maria,de-la-Cruz)
(Bjørn,Dæhlie)
(First,Last)
(John Quincy,Adams)
(Ridiculous example
is ridiculous,but fun)
Если вы менее подвержены правильности, вы можете упростить его дальнейшее:
$ ls | grep -o '[^-]*,[^-]*'
Maria,de
Bjørn,Dæhlie
First,Last
John Quincy,Adams
is ridiculous,but fun
Вы хотите использовать 'grep' и' ls', хотя они не являются подходящими инструментами для работы? –
@thatotherguy Итак, скажите мне лучшие инструменты, чем sir. – Nroh