gpt4 book ai didi

bash - 在命令行中根据条件重命名许多文件

转载 作者:行者123 更新时间:2023-12-02 04:02:04 24 4
gpt4 key购买 nike

我有一个库,其中一些文件必须重命名:

alabama.txt   california1.txt   california2.txt   california3.txt   florida.txt

californiaX.txt 文件应重命名为 cX.txtX 是一个数字。

这是我尝试过的:

ls | sed 's/california/c/' 

但这无法存储结果。阅读其他一些帖子,我尝试添加 sh 但它说“找不到命令”。

ls | sed 's/california/c/' | sh

rename 命令也不起作用(我使用的是 Mac)。mv 命令仅适用于文件。所以我尝试了一个循环,但同样不起作用:

for file in california*; do  mv file c*; done

任何有关我做错了什么的信息都将受到欢迎。

最佳答案

变量在引用时应以 $ 开头(在声明时则不然)。并且,您应该将参数替换为"file"变量:

for file in california*; do mv "$file" "${file/california/c}"; done

关于bash - 在命令行中根据条件重命名许多文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41386642/

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