分页: 1 / 1

如何批修改文件名,以及如何每两行数字相加

发表于 : 2011-01-24 22:07
esolve
我一个文件夹里有很多文件
格式如
m2_rec_plr30_r1.wav
m2_rec_plr140_r2.wav

现在要将下划线 _ 之后所有的 r1 r2改为 s1 s2
也就是变成
m2_rec_plr30_s1.wav
m2_rec_plr140_s2.wav

如何进行啊

另外有一些文件
里面是数字
诸如

1 2
3 4
1.2 1.6
2.4 1.8
.。。。
。。。。

想要每隔两行就相加然后除以2
也就是第一行和第二行各列相加然后除以2
第三行和第四行各列相加然后除以2
以此类推

上面的就变为
2 3
1.8 1.7
.。。。
。。。


谢谢

Re: 如何批修改文件名,以及如何每两行数字相加

发表于 : 2011-01-25 1:58
astolia
各用一行代码

代码: 全选

rename 's/_r(\d)./_s$1./' *
xargs -n4 < filename | awk '{print ($1+$3)/2" "($2+$4)/2}'

Re: 如何批修改文件名,以及如何每两行数字相加

发表于 : 2011-01-25 7:37
esolve
只有第一二三四行啊?
后面还有很多行呢。。。

Re: 如何批修改文件名,以及如何每两行数字相加

发表于 : 2011-01-25 10:09
tusooa
esolve 写了:只有第一二三四行啊?
后面还有很多行呢。。。
xargs -n4 意思是,每4行并为1行,每一行之间用空格分开。
$1 $2 $3 $4对应第多少列,不是行。

Re: 如何批修改文件名,以及如何每两行数字相加

发表于 : 2011-01-25 16:10
astolia
tusooa 写了:
esolve 写了:只有第一二三四行啊?
后面还有很多行呢。。。
xargs -n4 意思是,每4行并为1行,每一行之间用空格分开。
$1 $2 $3 $4对应第多少列,不是行。
非也非也,xargs -n4是将每四个参数放在一行,在他的例子中,每行有两个参数

Re: 如何批修改文件名,以及如何每两行数字相加

发表于 : 2011-01-26 2:49
esolve
astolia 写了:各用一行代码

代码: 全选

rename 's/_r(\d)./_s$1./' *



为何 (\d) 写成 \(\d\)就不行,另外这个\d是什么意思?
谢谢

Re: 如何批修改文件名,以及如何每两行数字相加

发表于 : 2011-01-27 9:53
tusooa
esolve 写了:
astolia 写了:各用一行代码

代码: 全选

rename 's/_r(\d)./_s$1./' *



为何 (\d) 写成 \(\d\)就不行,另外这个\d是什么意思?
谢谢
晦涩的转义,要它干吗? :em04
prename本来就是perl的。不用像sed那样干吗都\ 了。
alias sed='sed -r'

\d就是匹配数字

Re: 如何批修改文件名,以及如何每两行数字相加

发表于 : 2011-01-27 10:15
大宝

代码: 全选

sudo apt-get install pyrenamer

Re: 如何批修改文件名,以及如何每两行数字相加

发表于 : 2011-01-27 14:04
icmmed
mark一下