LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 882|回复: 12

如果得到一个目录中的文件列表?

[复制链接]
发表于 2004-6-23 16:56:44 | 显示全部楼层 |阅读模式
请问如果得到一个目录中的文件列表?
列表中每一行是一个带有绝对路径的文件名

例如:
  listfile ../test

应该得到类似的结果
/home/user1/test/file1.c
/home/user1/test/file2.c
.....

谢谢
发表于 2004-6-23 17:42:28 | 显示全部楼层
  1. #!/bin/sh

  2. if [ -d "$1" ]; then
  3.         cd "$1"
  4.         find $PWD -maxdepth 1
  5. fi
复制代码
发表于 2004-6-23 17:43:41 | 显示全部楼层
这样也行:
  1. #!/bin/sh

  2. if [ -d "$1" ]; then
  3.         cd "$1"
  4.         for file in *; do
  5.                 echo "$PWD/$file"
  6.         done
  7. fi
复制代码
发表于 2004-6-23 17:46:15 | 显示全部楼层
效果图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2004-6-24 09:15:48 | 显示全部楼层
Thanks a lot. I will try it.
发表于 2004-6-27 15:26:35 | 显示全部楼层
来个更简单的:
find . -type f #如果只要当前目录的话, find . -type f -maxdepth 1
对于目录和文件名查找的工作, find简直是太牛了.
发表于 2004-6-27 16:10:05 | 显示全部楼层
find真的很强大!
发表于 2004-6-27 17:53:00 | 显示全部楼层
这样也可 :

  1. for i in *;do
  2.         [[ -d $i ]]&&echo "Directory:$PWD/$i"
  3.         [[ -f $i ]]&&echo "File:$PWD/$i"
  4. done
复制代码
发表于 2004-6-28 08:56:15 | 显示全部楼层
最初由 yongjian 发表
来个更简单的:
find . -type f #如果只要当前目录的话, find . -type f -maxdepth 1
对于目录和文件名查找的工作, find简直是太牛了.
还需要修改一下,他要求的是得到全路径名,并且目录可以随意指定,不一定是当前目录
发表于 2004-6-28 08:57:17 | 显示全部楼层
最初由 javalee 发表
这样也可 :

  1. for i in *;do
  2.         [[ -d $i ]]&&echo "Directory:$PWD/$i"
  3.         [[ -f $i ]]&&echo "File:$PWD/$i"
  4. done
复制代码
这个也只能处理当前目录
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表