社区
Linux/Unix社区
帖子详情
shell 的find传参
jist12321
2008-01-31 02:43:08
在linux中,用shell要用find 找出当前包括子目录下面的文件,并把mv的到别的目录,同时原文件名前加zhou,谁可以理现?
有一个要求:不能先把原来的文件先copy成我的zhou*.zip,再是mv时直接把文件改名字了
比如 mv 1.zip ../zhou1.zip
请高人指点
...全文
308
12
打赏
收藏
shell 的find传参
在linux中,用shell要用find 找出当前包括子目录下面的文件,并把mv的到别的目录,同时原文件名前加zhou,谁可以理现? 有一个要求:不能先把原来的文件先copy成我的zhou*.zip,再是mv时直接把文件改名字了 比如 mv 1.zip ../zhou1.zip 请高人指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
x86
2008-02-02
打赏
举报
回复
如果有多项操作的话,用我的方式更灵活一些,无需make,直接执行就是了。
for i in `find . -name "*.pl" `; do name=`basename $i`; cp $i /tmp/test$name; done
`find . -name "*.pl" `,用反撇号执行命令,每个结果为一行
for i in ...,把刚才执行的结果当成一个数组,用for循环去遍历,之后是一个分号
在刚才的分号与最后的done之间你可以做很多事情,可以运行多条命令,命令以分号结尾,$i是数组的一项,也就是find的一条结果
对于你的要求,楼上各位说的方式也不错。
jist12321
2008-02-02
打赏
举报
回复
x86对不起,我结贴结分只能给第一个人解决我问题的人,但还是要谢谢,真的很喜欢x86的方法
cceczjxy
2008-01-31
打赏
举报
回复
find ./src -name *.zip -printf "mv %p /home/wls8/zhou/des/zhou_%f\n"
find ./src -name *.zip //查找./src目录下后缀为.zip的所有文件;
-printf "mv %p /home/wls8/zhou/des/zhou_%f\n"
//-printf 格式化输出文件信息。%p参数是文件全路径名,%f参数是只输出文件名。
-printf "mv %p /home/wls8/zhou/des/zhou_%f\n" //整体上是每找到一个文件就写一个命令
后面通过管道,把这个命令传给bash来执行。命令的格式就如
mv ./src/adf/adf.zip /home/wls8/zhou/des/zhou_adf.zip
cceczjxy
2008-01-31
打赏
举报
回复
find . -type f -printf "mv %p ../%h/zhou%f\n" |bash
借用2楼的想法.
jist12321
2008-01-31
打赏
举报
回复
在/home/wls8/zhou/src有三个文件down_01.zip down_02.zip down_03.zip
我现在要把他考到/home/wls8/zhou/des并文件名加zhou_,我用了以下命名,可是不行,请指点
当前目录是/home/wls8/zhou:
find ./src -name *.zip -printf "mv %p /home/wls8/zhou/des/zhou_%f\n"
这个忘 了写|bash,确决了,5楼的,谁可以帮我解释一下吗?
jist12321
2008-01-31
打赏
举报
回复
还有一个,5楼的那种法,是要用Make来运行的吗?
jist12321
2008-01-31
打赏
举报
回复
在/home/wls8/zhou/src有三个文件down_01.zip down_02.zip down_03.zip
我现在要把他考到/home/wls8/zhou/des并文件名加zhou_,我用了以下命名,可是不行,请指点
当前目录是/home/wls8/zhou:
find ./src -name *.zip -printf "mv %p /home/wls8/zhou/des/zhou_%f\n"
x86
2008-01-31
打赏
举报
回复
注意用的是反撇号,不是单引号。
[code=BatchFile]
for i in `find . -name "*.pl" `; do name=`basename $i`; cp $i /tmp/test$name; done
[/code]
cfy84
2008-01-31
打赏
举报
回复
是打shell命令实现还是编程实现?
yecheng_110
2008-01-31
打赏
举报
回复
[code=BatchFile]find . -printf "mv %p /home/yec/y/%h/zhou%f\n"|bash[/code]
上面的在IE下显示正常的
在firefox下错的
不知道CSDN怎么搞的
yecheng_110
2008-01-31
打赏
举报
回复
find . -printf "mv %p ../%h/zhou%f\n"|bash
不是很完善
jist12321
2008-01-31
打赏
举报
回复
各位高人啊,指点一下啊,在线等待啊
Shell
传递参数(转)
我们可以在执行
Shell
脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 实例 以下实例我们向脚本传递三个参数,并分别...
关于
shell
脚本
传参
出现“\r“的问题
find命令在查找出来的参数,默认是单独一行,通过观察文件末尾的**\r**就能发现,那么我们需要在传递参数时,将\r置空,使他与后面的目录路径是一行命令 config_file=$(echo $file| sed 's/\r//') 然后
azkaban 动态
传参
shell
篇
2.
shell
类型的job的参数传递 azkaban中的
shell
作业,如何接收从webUI传递的参数? step1: UI页面输入参数定义: ui_test=test111111111 step2:在job文件myjob.job指定: ##作业定义文件UI输入参数接收: .....
SHELL
| find命令
这时就需要用到查找命令了,find命令比locate命令的功能要齐全而且要好用的多,所以博主只在这里接受find命令的用法。 命令格式 find [option]...[查找路径][查找条件][处理动作] 查找路径:默认为当前目录,...
shell
script 数组使用[定义、遍历、函数
传参
]
shell
数组定义 数组定义主要有下面几种方式: declare -a arrayOfPort #定义一个数组,名字是arrayOfPort arrayOfPort[0]=21; arrayOfPort[1]=23; arrayOfPort[2]=80; arrayOfPort[3]=8080 #即array[key]=value形势...
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章