免费注册 查看新帖 |

Chinaunix

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

ls 如何只列出目录呢? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-08 12:10 |只看该作者 |倒序浏览
这个问题一直以来困扰我,特来向各位高人请教

我试过  ls -F,这样就使所有的目录加上了 /, 我想通过grep 去过滤就可以了,写了 ls -F | grep "/" 但是并未如我所愿,不知道ls -F 这个/是怎么加到目录后面的,还请各位.......


ls -l | grep -e "^d" 这个倒是可以,可是就是长文件方式显示了,不算太好!

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
2 [报告]
发表于 2008-01-08 12:26 |只看该作者
你的环境?
我的系统执行ls|grep / 没有问题。
其中ls='ls -hF --show-control-chars '

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
3 [报告]
发表于 2008-01-08 12:27 |只看该作者
ls -F | grep "/"
我这里的环境是可以的。AIX ksh

试试
ls -F | grep '/'
ls -F | fgrep '/'

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
4 [报告]
发表于 2008-01-08 12:28 |只看该作者
如果是zsh,只列出目录文件入口而不列出目录内容:ls -d *(/)

论坛徽章:
0
5 [报告]
发表于 2008-01-08 12:29 |只看该作者

再串接一个命令

ls -l | grep -e "^d" |awk '{print $NF}'

或者

ls -F | grep "/" | sed 's/.$//'

论坛徽章:
0
6 [报告]
发表于 2008-01-08 12:51 |只看该作者
写错了, sco unix 下面用 lf | grep / 不能实现,aix 下面用 ls -CF | grep / 不能实现!

误导大家了,对不起!

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
7 [报告]
发表于 2008-01-08 12:54 |只看该作者

论坛徽章:
0
8 [报告]
发表于 2008-01-08 13:04 |只看该作者
呵呵,我终于发现问题所在了,如果按照 ls -CF | grep /方式显示
列出内容为

tmp0001          log/      rt000000
tmp/                 tranc    vnt/

这是因为,输出时是按照一行一行输出然后grep, 如果单独一行中包含 / 就全部显示了
而不是我想象当中 先显示 tmp0001 然后做 grep, 再显示 log/做grep ,所以感觉上并没有过滤掉其他文件,不知我说的是否正确?

by the way: 我的shell 都是 ksh

论坛徽章:
0
9 [报告]
发表于 2008-01-08 13:05 |只看该作者
7楼的兄弟你别吐呀,赶紧给说明说明!

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
10 [报告]
发表于 2008-01-08 13:09 |只看该作者
兄弟,就应该是这样啊,自己先研究研究,实在不明白再来发贴。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP