在Linux bash中复制并重命名文件

问题描述 投票:0回答:2

我想在同一文件夹中复制并重命名多个文件。就像我有文件一样foo.c foo.h,并希望将它们用作名为bar.c bar.h的新文件的模板。

cp foo.* bar.*

将描述我的意思,但不起作用。

使用重命名

只会覆盖旧文件。

是否有一些简单的解决方案,或者我必须创建一个完整的脚本来在/ tmp中打开一个文件夹,然后在其中复制,重命名并移回?

我想在同一文件夹中复制并重命名多个文件。就像我有文件foo.c foo.h一样,并希望将它们用作名为bar.c bar.h的新文件的模板。 cp foo。* bar。*将...

linux file-rename file-copying
2个回答
0
投票

我刚刚用那个很棒的工具mcp找到了答案


0
投票

您可以通过简单的for循环和某些string manipulation来完成此操作>

#!/bin/bash
# for each file following the pattern "foo."
for i in foo.* 
do 
    # copy file to "bar" + original extension
    cp $i bar.${i#foo.} 
done
© www.soinside.com 2019 - 2024. All rights reserved.