免费注册 查看新帖 |

Chinaunix

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

除了1、2、3这三个目录,其他目录全都移至a中,该怎么写? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-07 15:09 |只看该作者 |倒序浏览
mv [^1-3]* a

这个是我想到的,可是除了目录,其他文件也都移了过去。。

有什么方法只移动目录?

论坛徽章:
0
2 [报告]
发表于 2009-05-07 15:14 |只看该作者
方法错了。。。答案在6楼

[ 本帖最后由 ztj2247 于 2009-5-7 15:49 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-05-07 15:29 |只看该作者
原帖由 ztj2247 于 2009-5-7 15:14 发表


mv[^1-3]* a &&rm -rf 1 2 3&& mkdir 1 2 3



没明白什么意思。。~干嘛mv 1 2 3 然后又重新mkdir 1 2 3 ?

论坛徽章:
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
4 [报告]
发表于 2009-05-07 15:38 |只看该作者

回复 #1 从未被和谐 的帖子

mv [^1-3]*/ a

但这个不准确,11、1a 这种也不会移。

论坛徽章:
0
5 [报告]
发表于 2009-05-07 15:45 |只看该作者
原帖由 ly5066113 于 2009-5-7 15:38 发表
mv [^1-3]*/ a

但这个不准确,11、1a 这种也不会移。



是啊,所以特来求教。。想了半天没想明白这该怎么写。

论坛徽章:
0
6 [报告]
发表于 2009-05-07 15:48 |只看该作者
[root@10.99.0.247 haha]#ls
1  2  3
[root@10.99.0.247 haha]#cd 1/
[root@10.99.0.247 1]#ls
[root@10.99.0.247 1]#cd ..
[root@10.99.0.247 haha]#cd 2
[root@10.99.0.247 2]#ls
a  b  c
[root@10.99.0.247 2]#cd ..
[root@10.99.0.247 haha]#cd 3
[root@10.99.0.247 3]#ls
d  e  f
[root@10.99.0.247 3]#cd ..
[root@10.99.0.247 haha]#ls
1  2  3
[root@10.99.0.247 haha]#find ./ -type d |sed 's/.\//mkdir -p .\/1\//' |sh
[root@10.99.0.247 haha]#cd 1/
[root@10.99.0.247 1]#ls
1  2  3
[root@10.99.0.247 1]#cd 2/
[root@10.99.0.247 2]#ls
[root@10.99.0.247 2]#cd 3

琢磨琢磨吧 主要是那句SED

再优化下
find ./ -type d |sed 's/.\//mkdir -p .\/1\//' |sh && rm -rf ./1/1

[ 本帖最后由 ztj2247 于 2009-5-7 15:51 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2009-05-07 15:55 |只看该作者

  1. find . -type d -name "[^1-3a]" -maxdepth 1 -prune | xargs -i mv {} a
复制代码

论坛徽章:
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
8 [报告]
发表于 2009-05-07 16:14 |只看该作者

回复 #5 从未被和谐 的帖子

find ! -name "[123]" -type d -maxdepth 1 -exec mv {} a \;

论坛徽章:
1
巨蟹座
日期:2014-06-04 13:33:30
9 [报告]
发表于 2009-05-07 16:43 |只看该作者
这样不知道可不可以?
ls -l|grep ^d|grep [^123]|xargs xxx

论坛徽章:
0
10 [报告]
发表于 2009-05-07 16:48 |只看该作者
不看不知道,一看下一跳。以前只知道简单的。。没想到find还有这么多高级的用法。原来"[^1-3a]" 比[^1-3a]*更准确的匹配单个字符的目录名,学习了。在发别人写的。。留作纪念,重新学习了find。。谢谢诸位。
find . \( -path "./1" -o -path "./2" -o -path "./3" -o -path "./a"  \) -prune -a -type d -o -exec mv {} a \;

[ 本帖最后由 从未被和谐 于 2009-5-7 16:52 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP