免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3187 | 回复: 3
打印 上一主题 下一主题

如何用shell程序遍历某个目录下的子目录及其文件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-21 03:54 |只看该作者 |倒序浏览
想对某个目录下的所有子目里及某些类型的文件进行操作,如何用Shell程序实现?
多谢!

论坛徽章:
0
2 [报告]
发表于 2003-05-21 04:22 |只看该作者

如何用shell程序遍历某个目录下的子目录及其文件?

...

比如在当前目录及子目录下找所有的 .txt 文件,

# find .  -name '*.[tT][xX][tT]'

当然,find 的版本众多,可能会有点区别,但是都应该可以做到。

论坛徽章:
0
3 [报告]
发表于 2003-05-22 04:53 |只看该作者

如何用shell程序遍历某个目录下的子目录及其文件?

用 find -exec 实现的功能太有限。
我想用Shell给出某个目录下的所有子目录及文件名,然后把每个文件名及其路径作为参数传递给另外一个用其它语言写的程序。
我想知道的主要问题是如何用Shell语言遍历目录这个问题,仅仅是如何遍历目录这个问题。
多谢!

论坛徽章:
0
4 [报告]
发表于 2003-05-22 06:17 |只看该作者

如何用shell程序遍历某个目录下的子目录及其文件?

[quote]原帖由 "idle2q"]我想用Shell给出某个目录下的所有子目录及文件名...[/quote 发表:


就是 find 这个命令。

当前目录下的所有子目录和文件:  find  .
任意目录下的所有子目录和文件:  find  PATH

$ find /tmp/
/tmp/
/tmp/.s.PGSQL.5432.lock
/tmp/.s.PGSQL.5432
/tmp/.427.40f22
/tmp/txt_list
/tmp/a1
/tmp/purge
/tmp/purge/convert.cc
/tmp/purge/socket.cc
/tmp/purge/signal.cc
/tmp/purge/squid-tlv.cc
/tmp/purge/copyout.cc
/tmp/purge/conffile.cc
/tmp/purge/convert.hh
/tmp/purge/socket.hh
/tmp/purge/signal.hh
/tmp/purge/squid-tlv.hh
/tmp/purge/copyout.hh
/tmp/purge/conffile.hh
/tmp/purge/Makefile
/tmp/purge/purge.cc
/tmp/purge/hexd.c
/tmp/purge/README
/tmp/a.sh
/tmp/purge-20000921-src.tar.gz

由此得到的文件列表,可以交给管道由 xargs, awk 等命令处理,也可以存为文件另行处理。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP