gpt4 book ai didi

linux - SED : Remove last four characters from filename

转载 作者:太空狗 更新时间:2023-10-29 12:13:11 25 4
gpt4 key购买 nike

我在名为 test_images 的文件夹中有文件列表,如下所示

006103insettedryshampoo-blossom7096.jpg
008299bathmassagesponges-3packa1a4.jpg
008507colgatetripleactiontoothpaste125d.jpg
8729teatreeoilantisepticcream25g1005.jpg

我想通过从每个文件中删除最后四个字符来重命名所有文件

006103insettedryshampoo-blossom.jpg
008299bathmassagesponges-3pack.jpg
008507colgatetripleactiontoothpaste.jpg
8729teatreeoilantisepticcream25g.jpg

我如何使用 sed 来做到这一点?

任何建议将不胜感激。

提前致谢:)

最佳答案

如果您的文件名没有空格,您可以:(在您的 test_images 目录下)

ls -1|sed -r 's/(.*)....(\.jpg)$/mv & \1\2/'

检查生成的mv 命令。如果没问题,将 |sh 添加到上述命令以进行实际的重命名。

如果你的文件名有空格,你需要加引号:

..../mv "&" "\1\2"/'|sh

这是一个快速而肮脏的解决方案,因为使用 ls 结果不是好的做法。

更新:添加“如何”示例:

LsyHP 11:41:40 /tmp/test/img
kent$ ll
total 0
drwxr-xr-x 2 kent kent 120 Jan 4 11:41 ./
drwxr-xr-x 3 kent kent 160 Jan 4 11:41 ../
-rw-r--r-- 1 kent kent 0 Jan 4 11:41 006103insettedryshampoo-blossom7096.jpg
-rw-r--r-- 1 kent kent 0 Jan 4 11:41 008299bathmassagesponges-3packa1a4.jpg
-rw-r--r-- 1 kent kent 0 Jan 4 11:41 008507colgatetripleactiontoothpaste125d.jpg
-rw-r--r-- 1 kent kent 0 Jan 4 11:41 8729teatreeoilantisepticcream25g1005.jpg
LsyHP 11:41:43 /tmp/test/img
kent$ ls -1|sed -r 's/(.*)....(\.jpg)$/mv & \1\2/'
mv 006103insettedryshampoo-blossom7096.jpg 006103insettedryshampoo-blossom.jpg
mv 008299bathmassagesponges-3packa1a4.jpg 008299bathmassagesponges-3pack.jpg
mv 008507colgatetripleactiontoothpaste125d.jpg 008507colgatetripleactiontoothpaste.jpg
mv 8729teatreeoilantisepticcream25g1005.jpg 8729teatreeoilantisepticcream25g.jpg
LsyHP 11:41:52 /tmp/test/img
kent$ ls -1|sed -r 's/(.*)....(\.jpg)$/mv & \1\2/'|sh
LsyHP 11:41:57 /tmp/test/img
kent$ ll
total 0
drwxr-xr-x 2 kent kent 120 Jan 4 11:41 ./
drwxr-xr-x 3 kent kent 160 Jan 4 11:41 ../
-rw-r--r-- 1 kent kent 0 Jan 4 11:41 006103insettedryshampoo-blossom.jpg
-rw-r--r-- 1 kent kent 0 Jan 4 11:41 008299bathmassagesponges-3pack.jpg
-rw-r--r-- 1 kent kent 0 Jan 4 11:41 008507colgatetripleactiontoothpaste.jpg
-rw-r--r-- 1 kent kent 0 Jan 4 11:41 8729teatreeoilantisepticcream25g.jpg

关于linux - SED : Remove last four characters from filename,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34587973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com