gpt4 book ai didi

linux - 递归地将文本添加到文件名

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:16 25 4
gpt4 key购买 nike

我想在当前目录或子目录中的每个特定类型文件(在本例中为 .txt 文件)的名称前添加文本。

我试过:

find -L . -type f -name "*.txt" -exec mv "{}" "PrependedTextHere{}" \;

问题在于处理 ./ 路径中的 ./ 部分,该路径随 {} 引用一起出现。

感谢任何帮助或替代方法。

最佳答案

你可以这样做

find -L . -type f -name "*.txt" -exec bash -c 'echo "$0" "${0%/*}/PrependedTextHere${0##*/}"' {} \;

在哪里

  • bash -c '...' 执行命令
  • $0 是传入的第一个参数,在本例中为 {} -- 完整文件名
  • ${0%/*} 删除文件名中最后一个 / 及其之后的所有内容
  • ${0##*/} 删除文件名中最后一个 / 之前的所有内容

替换 一旦你满意它的工作。

关于linux - 递归地将文本添加到文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22740505/

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