gpt4 book ai didi

bash - 将文件名重命名为另一个名称

转载 作者:行者123 更新时间:2023-11-29 09:37:56 40 4
gpt4 key购买 nike

解释起来很简单:

如何重命名

/folder1/something.test.html
/folder1/somethingElse.test.html
/folder2/againsomething.test.html
/canBeHereAlso.test.html

进入

/folder1/something.test2.html
/folder1/somethingElse.test2.html
/folder2/againsomething.test2.html
/canBeHereAlso.test2.html

还有反函数能回到原点吗?

这种事情真的很简单,但不幸的是,除非你已经知道如何去做,否则完全不可能用谷歌搜索它们......

我在想:

for NAME in */*.test.html; do mv $NAME $NAME2.html ; done # for A -> B

for NAME in */*.test2.html ; do mv $NAME #remove last caracter.html for B --> A

但不幸的是,事情并没有那么简单......

最佳答案

对于简单的字符串后缀和前缀操作,我建议你熟悉shell的标准parameter expansion features${VAR%suffix_to_remove}${VAR#prefix_to_remove}。这些将适用于任何标准 sh,而不仅仅是 bash:

测试 -> 测试 2

for NAME in */*.test.html; do      # NAME is, e.g., "dir/foo.test.html"
BASENAME=${NAME%.test.html} # BASENAME is "dir/foo"
mv "$NAME" "$BASENAME.test2.html";
done

test2 -> test 类似:

  ...
BASENAME=${NAME%.test2.html} # strip off .test2.html
...

您还可以使用标准的 shell 实用程序 basenamedirname实现类似的目标。

关于bash - 将文件名重命名为另一个名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31343309/

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