回答
正如我previous answer你真的想用find
。你想对行脚本7-10做些什么可以只用这个做:
find /home/user -type f -printf "%f\n"
您可以使用-d
运算符来检查是否$filename
指向目录:
for filename in /home/user/*
do
if [ ! -d "${filename}" ]
then
echo $filename
fi
done;
的详细信息和其他可用的运营商看到了test manpage。
您还可以使用find command:
find /home/user -not -type d -maxdepth 1
while IFS='$\n' read -r filename
do echo "$filename"
done < <(find /home/user/ -type f -maxdepth 1)
for filename in /home/user/*
do
if [ ! -d "$filename" ]; then
echo $filename
fi
done
或者,使用find
命令:
find /home/user ! -type d -maxdepth 1
这是正确的答案(并请让我强调,这是很难得到与外壳相互作用'find'右) –
当我用第一代码部分的是,它的回声'/ home/user中/的*'而不是文件夹的内容。 – Mechaflash
@Mechaflash然后'/ home/user'是空的或者只有隐藏文件,为了得到隐藏的文件,你可以使用'/ home/user /.*'或'find',尽管有'find'命令正如Jo So所说的那样)你可能需要告诉我们你是如何使用它的,所以我们可以帮助你做到这一点。 – Kevin
您可以使用条件循环内的语句。像这样(未经):
if [ ! -d "$filename" ]
then
// do stuff
fi
-d
是真实的,如果它是一个目录,而这与!
反转。所以它会成功,如果它确实存在,而不是一个目录。
查找命令更适合你想要的。
find /home/user -type f
- 1. 文件上传插件位于Web根目录忽略到目标文件夹
- 2. 忽略基于项目文件夹名称的文件
- 3. 计算目录中的文件和文件夹(忽略隐藏文件)
- 4. .gitignore不能忽略文件夹目录或文件
- 5. 忽略文件中的目录
- 6. 不忽略子目录中的文件?
- 7. 只获取目录中的文件夹名称,忽略点并忽略某些文件夹
- 8. 忽略svn控制文件夹中的文件和文件夹?
- 9. gitignore规则文件夹中的文件也忽略文件夹
- 10. 如何在任何文件夹中忽略git中的目录
- 11. 的.htaccess忽略文件夹
- 12. 忽略Doxygen项目文件夹中的文件
- 13. 如何忽略SVN项目中的文件或文件夹
- 14. 的Git忽略不忽略指定的文件夹/文件
- 15. 跟踪文件中忽略目录
- 16. TortoiseSVN - 忽略文件和文件夹
- 17. SVN:忽略子文件夹
- 18. 忽略文件夹名称
- 19. TortoiseHG忽略文件夹
- 20. jshint忽略node_modules文件夹
- 21. Git忽略子文件夹
- 22. 忽略根文件夹中gitignore子文件夹中的gitignore
- 23. 的Git的.gitignore忽略根目录文件夹仅
- 24. 使的.gitignore忽略TMP目录嵌套的文件夹
- 25. 的.gitignore子目录没有忽略文件夹
- 26. 忽略子文件夹中的.git文件夹
- 27. Subversion忽略某些目录和文件
- 28. accessExternalDTD属性忽略目录文件
- 29. 忽略htaccess中的文件夹
- 30. 如何忽略ImageProcessor中的文件夹
你有没有真正尝试过吗?错误。 –
@JoSo谢谢。下一次你可以告诉我,我忘了'\ n'。 – SiegeX
是的,甚至更好,只是留在'找到/ home/user的型F',或者,做想要的东西OP,切换到'找到/ home/user中 - 而不是类型D';-) –