UNIX中具有类似文件名的重复文件

时间:2009-07-03 10:01:03

标签: unix sed

我在一个名为:

的目录中有一组文件
OneThing-x.extension
OneThing-y.extension
OneThing-z.extension

我使用什么UNIX命令(find,cp,xargs,sed?)将这些命令复制到

AnotherThing-x.extension
AnotherThing-y.extension
AnotherThing-z.extension

使得x - > copy-> x和y - > copy - > ÿ

我有一个开始的命令的一部分,它选择了文件,但我被困在那里。

修改 显然,我想保留原始版本和副本版本,因此重命名对我来说并不是很有用。

5 个答案:

答案 0 :(得分:3)

怎么样:

$ touch a1.a a2.a a3.a
$ ls

a1.a  a2.a  a3.a

$ for a in a*.a ; do cp $a $(echo $a | sed 's/^a/b/') ; done
$ ls

a1.a  a2.a  a3.a  b1.a  b2.a  b3.a

答案 1 :(得分:1)

我粗略的解决方案就像:

for FIL in OneThing*; do NFIL=`echo $FIL|sed 's/OneThing/AnotherThing/'`; cp "$FIL" "$NFIL"; done;

答案 2 :(得分:1)

扩展Jason Musgrove's solution

for FIL in OneThing*
do
  NFIL=`echo $FIL | sed 's/OneThing/AnotherThing/'`
  cp "$FIL" "$NFIL"
done

答案 3 :(得分:0)

$ rename 's/OneThing/AnotherThing/' *.extension

答案 4 :(得分:0)

你也可以使用mmv:

$ mmv -c "OneThing*" "AnotherThing#1"

$ mmv -c "OneThing-*.extension" "AnotherThing-#1.extension"