对于目录中的文件,只有echo文件名(无path)
如果我用for循环迭代一个目录,我该如何去回应一个文件的文件名?
for filename in /home/user/* do echo $filename done;
将拉文件名的完整path。 我只想要文件名。
如果你想要一个本地bash
解决scheme
for file in /home/user/*; do echo ${file##*/} done
以上使用的参数扩展是本地的shell,不需要调用外部二进制文件,如basename
不过,我可以build议只使用find
find /home/user -type f -printf "%f\n"
只需使用basename
:
echo `basename "$filename"`
如果$ filename包含空格,则需要引号。
使用basename
:
echo $(basename /foo/bar/stuff)