请教一下高手这个批量重命名的shell问题出在哪里?

sh/bash/dash/ksh/zsh等Shell脚本
回复
psychymluo
帖子: 2
注册时间: 2013-07-25 11:00
系统: MAC

请教一下高手这个批量重命名的shell问题出在哪里?

#1

帖子 psychymluo » 2013-07-25 11:25

各位高手大家好!
我想请教一个很简单的用shell语句批量重命名的问题。我想将一个文件夹下面的六个文件夹分别按照顺序命名为run1,run2,run3,run4,run5,run6,但是我写了下面语句之后,在terminal运行总是报错,说是No such file or directory,我应该怎么修改呢?或者有没有高手有更好的办法解决这个问题?先谢谢了!如有帮助,感激不尽

#!/bin/sh
#

for x in s1


do
echo subject $x
cd ~/Data/my_original_data/${x}/
z1=`ls -1 ~/Data/my_original_data/${x}/*|head -1`
z2=`ls -1 ~/Data/my_original_data/${x}/*|head -2`
z3=`ls -1 ~/Data/my_original_data/${x}/*|head -3`
z4=`ls -1 ~/Data/my_original_data/${x}/*|head -4`
z5=`ls -1 ~/Data/my_original_data/${x}/*|head -5`
z6=`ls -1 ~/Data/my_original_data/${x}/*|head -6`
mv $z1 ~/Data/my_original_data/${x}/run1
mv $z2 ~/Data/my_original_data/${x}/run2
mv $z3 ~/Data/my_original_data/${x}/run3
mv $z4 ~/Data/my_original_data/${x}/run4
mv $z5 ~/Data/my_original_data/${x}/run5
mv $z6 ~/Data/my_original_data/${x}/run6
done
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 请教一下高手这个批量重命名的shell问题出在哪里?

#2

帖子 eexpress » 2013-07-25 11:46

明白head -2是啥不。
cd ~/Data/my_original_data/; j=0; for i in *; do mv "$i" run$j; ((j++)); done
● 鸣学
胡舒瑜
帖子: 1
注册时间: 2012-12-12 19:58
系统: ubuntu13.04

Re: 请教一下高手这个批量重命名的shell问题出在哪里?

#3

帖子 胡舒瑜 » 2013-07-30 6:57

里面有不少错误的地方。首先,文件名中'$'会造成符号拓展,如果使用的话,可以使用反斜杠,就是写成~/Data/my_original_data/\$\{x\}/,或者加上单引号,~/Data/my_original_data/'${x}'/。第二,head -n,是显示输出的前n行,并不是第n行。
2楼的学长写的非常好,简洁。但是仍然存在问题。比如,假如6个文件夹均为(或者其中一个或几个)run1,run2,run3,run4,run5,run6.那么最后只有一个文件夹,就是run0,里面包含以上文件。楼主可以自己试着改改。如果需要bash的电子书,把邮箱留给我,我发给你。网上也可以下载的到。http://linuxcommand.org/
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 请教一下高手这个批量重命名的shell问题出在哪里?

#4

帖子 lilydjwg » 2013-07-30 18:10

最简单的,安装 renamer.vim 后直接在 Vim 里调用 :Ren 命令,改好再执行一次 :Ren 命令即可。已经考虑了各种变态的重名情况。
头像
sunfish
帖子: 989
注册时间: 2008-05-03 1:53

Re: 请教一下高手这个批量重命名的shell问题出在哪里?

#5

帖子 sunfish » 2013-07-30 18:55

告诉lz个小技巧:你可以每个行都手动输入到命令行看看效果是啥再调整
docker && kubernetes
psychymluo
帖子: 2
注册时间: 2013-07-25 11:00
系统: MAC

Re: 请教一下高手这个批量重命名的shell问题出在哪里?

#6

帖子 psychymluo » 2013-08-04 5:29

非常感谢各位的指点!!!!!
回复