gpt4 book ai didi

linux - 使用 bash 将文件复制到 spec 文件夹

转载 作者:太空狗 更新时间:2023-10-29 11:16:02 26 4
gpt4 key购买 nike

我有一个包含大量子文件夹的文件夹。在某些子文件夹中,我有一张 folder.jpg 图片。我尝试做的是找到该文件夹​​并将其复制到具有相同艺术家和专辑信息的所有其他子文件夹,然后继续到下一张专辑等。

所有文件夹的结构都是“艺术家-年份-专辑-[编码信息]”。我制作了一个非常简单的衬垫,可以找到包含文件的文件夹,但我卡住了。

ls -F | grep / | while read folders;do find "$folders" -name folder.jpg; done

任何人有任何好的提示或想法如何解决这个问题或如何进行的指示?

编辑:

首先,我对此很陌生(就像你无法分辨的那样)所以请耐心等待。

好吧,让我进一步分解一下。

我的文件夹结构如下所示:

artist1 - year - album - [flac]
artist1 - year - album - [mp3]
artist1 - year - album - [AAC]
artist2 - year - album - [flac]
etc

我喜欢遍历具有相同艺术家和专辑信息的文件夹集并查找 folder.jpg 文件。当我找到该文件时,我想将它复制到同一组中的所有其他文件夹中。

例如,如果我在 artist1 - year - album - [flac] 文件夹中找到一个 folder.jpg 我是否喜欢拥有那个 folder.jpg 复制到 artist1 - year - album - [mp3] &artist1 - year - album - [AAC] 但不是 artist2 - year - album - [flac]。

继续循环,直到处理完所有集合。我真的希望这能让我更容易理解我尝试做的事情 :)

最佳答案

IFS='
'
FLDRS=`find . -name folder.jpg | grep -v ./folder.jpg | sed -e 's@/folder\.jpg$@@`
for F in $FLDRS; do
NOENC=`echo "$F" | sed -e 's/\[.*$//'`
for DST in "$NOENC*"; do
if [ -d "$DST" -a ! -f "$DST/folder.jpg" ]; then
cp "$F/folder.jpg" "$DST"
fi
done
done

对于已经在所有环境中包含 folder.jpg 的集合来说效率很低,但除非出现错误,否则它应该可以完成工作。

关于linux - 使用 bash 将文件复制到 spec 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8158178/

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