我刚学shell,能详细解释一下吗?
ls -1|while read i; do j=`dirname $i`;mv "$i" ${j##*/}"$i";done
$i是代指ls -l 的某行吗?从第一行开始?
${j##*/}又指什么呢?
假如,我有文件01.xy, 02.xy, 03.xy……
用这个给改名改成psp01,psp02,psp03,……怎么改啊?
i要指定范围吗?如果指定范围,怎么指定啊?比如15个文件?
请详细解释一下这个,谢谢HELP
-
- 帖子: 359
- 注册时间: 2008-03-30 12:19
-
- 帖子: 1028
- 注册时间: 2008-11-01 21:42
- 来自: 树下板凳
Re: 请详细解释一下这个,谢谢HELP
ls -1(数字1)不是ls -l 看清楚了,ls -1只是吧ls的结果按行列出来,不同于ls -l
##的用法,真是没见过,c中有这玩意,shell中也有这玩意?特殊符号goole都不知道咋用
mv "$i" "${j}/XX$i" 不就可以了 ,为啥要用mv "$i" ${j##*/}"$i"?
还望xzap小朋友帮忙解答啊 ! 不用rename(习惯问题?) 用这个全路径mv,有啥好处?小朋友帮帮忙,说来听听!
lz的可以rename "s/([0-9]*)\.xy/psp$1/" *.xy
用while read i 的话 ,他只是把 读到的值传入 变量i中 ,i一般说来可以理解成字符串类型,shell本身是弱类型,不需要指定范围(我也不知道怎么指定)
mv的话可以用basename提取01.xy中.前面部分 ,自己搞吧
##的用法,真是没见过,c中有这玩意,shell中也有这玩意?特殊符号goole都不知道咋用
mv "$i" "${j}/XX$i" 不就可以了 ,为啥要用mv "$i" ${j##*/}"$i"?
还望xzap小朋友帮忙解答啊 ! 不用rename(习惯问题?) 用这个全路径mv,有啥好处?小朋友帮帮忙,说来听听!
lz的可以rename "s/([0-9]*)\.xy/psp$1/" *.xy
用while read i 的话 ,他只是把 读到的值传入 变量i中 ,i一般说来可以理解成字符串类型,shell本身是弱类型,不需要指定范围(我也不知道怎么指定)
mv的话可以用basename提取01.xy中.前面部分 ,自己搞吧
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。
- O_O_BOT
- 帖子: 2461
- 注册时间: 2009-05-20 19:32
Re: 请详细解释一下这个,谢谢HELP
最好用find -exec..
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]