отдельный файл и путь в bash?

отдельный файл и путь в bash?

Как можно разделить элементы пути и файла в цикле bash таким образом?

for file in `find /my/path -name "*.ext"`
do
    #(path,onlyfile) = separate_path_and_file $file
    #dosomethingwith $onlyfile
done

решение1

Нельзя. Но можно делать это по отдельности.

$ foo=/usr/local/bin/bar
$ echo "${foo##*/}"
bar
$ echo "${foo%/*}"
/usr/local/bin

решение2

Я бы предложилdirnameиbasename:

для файла в `find /my/path -name "*.ext"`
делать
    path="$(имя_каталога "$file")"
    толькофайл="$(базовое имя "$файл")"
    # ...
сделанный

Связанный контент