【发布时间】:2021-12-01 01:03:11
【问题描述】:
我有文件名 filename.gz.1,我需要将它们重命名为 filename.gz, 有很多文件,每个名字都不一样,
我知道我不能这样做for i in $(ls); do mv $i $i.1; done,
但是我可以反过来,从 filename.gz.1 到 filename.gz 并保留原始文件名吗?
我试过了,
for i in $(ls | grep "xz\|gz"); do echo "mv $i $i | $(rev) | $(cut -c3-) | $(rev) |)"; done
但这忽略了我的管道。
谁能帮帮我?
【问题讨论】:
-
顺便说一句:Why not parse
ls? -
如果所有文件都有额外的“.1”,你可以剪掉这个。如果您有“.2”“.11”,则需要更多条件