2013-03-05 52 views
1

如何从UNIX的'ls'输出中检查结果中的每个项目是目录还是文件如何在UNIX中的'ls'输出中检查结果中的每个项目是目录还是文件

我有成千上万的文件和文件夹。所有创建错误,例如

HHYY 
KKJH 
JGGF 

问题是在某些情况下,项目应该是一个实际的文件,而不是foldere。

HHYY 
KKJH.txt 
JGGF 

所以我现在需要的所有实际文件移动到新位置,我试图找出文件

+0

谢谢迈克尔。我们正在做一些事情。这里的问题是我需要将文件列为日志文本文件KKJH。现在他们被列为./KKJH。因为每个文件都要存储在一个名称为 – user1526912 2013-03-05 00:27:59

+0

''find'的独特文件夹中,所以我将最终选择一个脚本来执行此操作。 -type f'将递归列出所有普通文件; '找。 -type d'将递归列出所有目录。 – 2013-03-05 01:31:41

回答

1
for file in * 
do 
    if [ -f "$file" ] 
    then ... 
    fi 
done 
0

ls -l有以下一些类型的输出。

drwxr-xr-x 2 root root 4096 oct 9 2011 xml 

在上面的行中,第一个字符“d”表示它的一个目录。 如果第一个字符是“l”,则表示它是一个符号链接。

希望这会有所帮助。

相关问题