批量重命名命令行和Xargs中的文件

因此,我有以下结构:

。
..
a、 巴布亚新几内亚
b、 巴布亚新几内亚
c、 巴布亚新几内亚

我运行了一个命令来调整它们的大小

ls | xargs-I xx convert xx-resize xx.jpg

现在我的dir看起来像这样

。
..
a、 png.jpg
a、 巴布亚新几内亚
b、 png.jpg
b、 巴布亚新几内亚
c、 png.jpg
c、 巴布亚新几内亚

第一个问题是,如何重命名该文件,以便只拥有一个扩展名。不是两个。(基本上,我该如何纠正我原来的错误)?

第二个问题是,在将来使用xargs时,如何将文件simular的扩展名更改为second命令

也可以使用xargssed更改文件扩展名

ls | grep\.png$| sed'p;s/\.png/\.jpg/'| xargs-n2 mv

您可以打印原始文件名以及您想要的文件名。然后让xargs在move命令中使用这两个参数。对于单行程序,我还添加了一个grep来过滤掉任何不是*.png文件的内容

发表评论