免费注册 查看新帖 |

Chinaunix

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

用ls命令做文件名列表,如何不带路径。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-16 11:35 |只看该作者 |倒序浏览
/export/home/vms07下放着
1.txt
2.txt
3.txt

ls /export/home/vms07 *.txt > list.txt  2>/dev/null

做成list.txt文件后,里面内容为
/export/home/vms07/1.txt
/export/home/vms07/2.txt
/export/home/vms07/3.txt

我现在不想要带路径的,只要list.txt里面保存的是文件名。如
1.txt
2.txt
3.txt请问该如何实现。最好不要字符串操作。恳请执教。

论坛徽章:
0
2 [报告]
发表于 2005-09-16 11:44 |只看该作者

用ls命令做文件名列表,如何不带路径。

如果ls的选项不支持的话,试一下:
ls /export/home/vms07 *.txt |awk -F\/ '{print $5}'> list.txt  2>/dev/null

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
3 [报告]
发表于 2005-09-16 11:46 |只看该作者

用ls命令做文件名列表,如何不带路径。

cd /export/home/vms07&&ls *.txt

论坛徽章:
0
4 [报告]
发表于 2005-09-16 12:14 |只看该作者

用ls命令做文件名列表,如何不带路径。

以上的 两位的方法我都想过了。但是因为这个命令要在许多地方用到,每个系统的文件目录不同。所以以上两张方法并不可靠。

比如cd /export/home/vms07&&ls *.txt

之后还要回到原来的目录,一来一回的就爱出问题。

ask这个我感觉也不怎么可靠。敢问还有别的方法吗?

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
5 [报告]
发表于 2005-09-16 12:21 |只看该作者

用ls命令做文件名列表,如何不带路径。

一来一回的就爱出问题

(cd /export/home/vms07&&ls *.txt)

出问题的应该是人脑而不是电脑

论坛徽章:
0
6 [报告]
发表于 2005-09-16 12:36 |只看该作者

用ls命令做文件名列表,如何不带路径。

郁闷,这样进去出来的,太不方便了。

论坛徽章:
0
7 [报告]
发表于 2005-09-16 13:19 |只看该作者

用ls命令做文件名列表,如何不带路径。

我觉得waker老大的方法没有什么麻烦的啊?楼主觉得麻烦在什么地方?


要不你试试
for i in `ls /tmp/*.txt`; do basename $i; done

论坛徽章:
0
8 [报告]
发表于 2005-09-16 13:47 |只看该作者

用ls命令做文件名列表,如何不带路径。

原帖由 "sakulagi" 发表:
我觉得waker老大的方法没有什么麻烦的啊?楼主觉得麻烦在什么地方?


要不你试试
for i in `ls /tmp/*.txt`; do basename $i; done



cd /export/home/vms07&&ls *.txt

因为这样进到哪个目录里面的话,完事之后我就要还回到原来的目录阿。对不同的系统恐怕目录层次也不一样,这样我现在写的cd .. 的话可能换到别的就不好用了。而且到底cd ..几次也容易出问题阿。

您这个方法生成的list.txt文件在哪里啊?

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
9 [报告]
发表于 2005-09-16 14:16 |只看该作者

用ls命令做文件名列表,如何不带路径。

不是告诉你加个()发起subshell就解决你cd回来的问题了么?

论坛徽章:
0
10 [报告]
发表于 2005-09-16 14:23 |只看该作者

用ls命令做文件名列表,如何不带路径。

哦,月来是这样,大哥不能不能麻烦你仔细解释下?意思就是说发起个子shell是么?执行完了后对父shell没有任何影响

是么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP