【问题标题】:Replace all place holder of all the files in a folder [duplicate]替换文件夹中所有文件的所有占位符[重复]
【发布时间】:2021-08-21 12:20:07
【问题描述】:

我需要编写一个 bash 脚本。 我有一个文件夹名称abc,该文件夹包含多个(大约 20 个)文件。现在一些文件被命名为__servicename__List.java 这里__servicename 充当占位符。我需要用一个字符串替换这个占位符,比如xyz

有人可以帮忙吗? 感谢您的所有帮助!提前致谢!

【问题讨论】:

  • 你想要20个同名文件?
  • 不是 20 个文件。其中很少有具有相同名称的占位符。

标签: bash unix sh


【解决方案1】:

在 bash 中我会这样做:

cd abc
for FileName in **/* ; do
    mv -- "$FileName" "${FileName/__servicename__/xyz}"
done

【讨论】:

  • 感谢您的回复。我试过了,但不知何故它不起作用。我错过了什么吗?
  • 上面写着mv: cannot stat '**/*': No such file or directory
  • 您使用的是 bash 还是 sh ?另外,您在正确的文件夹中吗?可能只尝试*
  • 我厌倦了for FileName in * ; do mv -- "$FileName" "${FileName/_servicename_/$Service_Name}" done 它仍然无法正常工作。我错过了什么吗?
  • 我试过$Service_Name="xyz" for FileName in * ; do mv -- "$FileName" "${FileName/_servicename_/$Service_Name}" done 还是不行。我错过了什么吗?
猜你喜欢
  • 2021-08-22
  • 1970-01-01
  • 1970-01-01
  • 2015-10-07
  • 2013-05-30
  • 2017-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多