在bash中单独的文件和路径?

719*_*016 10 linux bash path

如何在这样的 bash 循环中分隔路径和文件元素?

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

cYr*_*rus 27

我会建议dirnamebasename

对于`find /my/path -name "*.ext"` 中的文件
做
    路径=“$(目录名$文件)”
    onlyfile="$(basename $file)"
    # ...
完毕

  • 这比公认的答案更具可读性。 (3认同)

Ign*_*ams 13

你不能。但是你可以分开做。

$ foo=/usr/local/bin/bar
$ echo "${foo##*/}"
bar
$ echo "${foo%/*}"
/usr/local/bin
Run Code Online (Sandbox Code Playgroud)