bash:使用新后缀复制每个文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bash:使用新后缀复制每个文件相关的知识,希望对你有一定的参考价值。

作为一个更大问题的一部分,我需要在目录中循环(仅限某些,但现在都是为了简单)文件,并使用给定的后缀制作副本。

就像是:

for f in * ; do cp $f $f_copy ; done

我喜欢拿每个文件并创建一个副本,如:abc.txt> abc.txt_copy

甚至更好,在扩展名之前:abc_copy.txt。

上面的代码不起作用。试过报价也是..

谢谢!

答案

_是变量名中的允许字符。因此,bash搜索名为f_copy的变量。

更换

$f $f_copy

"$f" "${f}_copy"

要么

"$f" "${f%.*}_copy.${f##*.}"

见:Parameter Expansion

以上是关于bash:使用新后缀复制每个文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 yml 文件中的 bash 命令将所有文件复制到新目录?

Shell编程初步

使用 python 或 bash 按时间戳将音频文件复制到新文件夹

用于归档文件然后复制新文件的 Bash 脚本

如何提取文件名并更改 bash 的结尾? [复制]

如何复制或删除bash中的特定行并将它们创建到新文件中[重复]