gpt4 book ai didi

linux - 如何在 Linux 中以名称 Bouvet-Island.png 递归复制同一目录中的所有文件 Norway.png

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

我有一个带有标志的目录 (/flags),其中多个目录中有文件名 Norway.png。因为 Bouvet Island 旗帜不存在,挪威相当于那个国家(岛),我只需要将所有 Norway.png 文件复制到名称为 Bouvet-Island.png 的同一目录。

(这里是标志:https://downloads.gosquared.com/pixels/flags.zip)

考虑每个 Norway.png 位于不同的目录中并且具有不同的大小。

我尝试过这样的事情:

#!/bin/bash

echo "Renaming..."

# shell-expansion to loop specified files
for file in /var/www/images/flags/*/Norway.png; do

cp "$file" "Bouvet-Island.png";
done;

但我收到以下消息:

cp: target ‘./flags/shiny/16/Norway.png’ is not a directory
cp: target ‘./flags/shiny/48/Norway.png’ is not a directory
cp: target ‘./flags/shiny/24/Norway.png’ is not a directory
cp: target ‘./flags/shiny/32/Norway.png’ is not a directory
cp: target ‘./flags/shiny/64/Norway.png’ is not a directory
cp: target ‘./flags/flat/16/Norway.png’ is not a directory
cp: target ‘./flags/flat/48/Norway.png’ is not a directory
cp: target ‘./flags/flat/24/Norway.png’ is not a directory
cp: target ‘./flags/flat/32/Norway.png’ is not a directory
cp: target ‘./flags/flat/64/Norway.png’ is not a directory

最佳答案

使用 find-exec 选项:

find /var/www/images/flags -name Norway.png \
-exec sh -c 'cp {} $(dirname {})/Bouvet-Island.png' \;

关于linux - 如何在 Linux 中以名称 Bouvet-Island.png 递归复制同一目录中的所有文件 Norway.png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24719239/

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