gpt4 book ai didi

linux - 列出以两个点开头的文件并批量更改文件名

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:37:45 24 4
gpt4 key购买 nike

我有位于不同目录中的以两个点开头的文件。我需要将它们全部列出并批量更改它们的名称并完全删除这些点。

有什么建议吗?

最佳答案

由于每个文件的 sh 调用,效率不是很高,但这应该可以,并且是安全的:

find path -type f -name '..*' -execdir sh -c 'fn=$1; dots=${fn%%[^.]*}; cleaned=${fn:${#dots}}; mv -nv "$fn" "$cleaned"' -- {} \;

工作原理:

  • 查找以至少 2 个点开头的文件。
  • 在文件目录中执行 sh(使用一系列命令),将文件名作为参数传递 (sh -c '...' -- {})
  • 将文件名存入fn
  • 将点前缀存储在dots
  • 将新文件名计算为 fn 的子字符串,从 的长度开始
  • 执行mv

关于linux - 列出以两个点开头的文件并批量更改文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46628714/

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