gpt4 book ai didi

linux - 按第一个字符复制文件夹的 Bash 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:36 25 4
gpt4 key购买 nike

我是 ubuntu/Linux 的新手,刚刚执行了我的第一个 bash 脚本。

我正在尝试将我的音乐收藏从 driveA 复制到 driveB。

driveA 有我所有的艺术家文件夹(例如 Adele、Brian、Bob Marley、Cassie)/media/myMusic 的路径

在 driveB 中,我创建了文件夹 A、B、C,它们的路径是/media/orderedMusic

驱动器 A 中第一个字符为 A 或 B 或 C 的所有艺术家文件夹将被复制到驱动器 B 中的相应文件夹,即 Adele 将被复制到/media/orderedMusic/A,Brian 和 Bob Marley 将被复制到/media/orderedMusic/B 等等。

这是我目前所掌握的,非常感谢您的帮助。谢谢

#!/bin/bash

folder1=/media/myMusic
folder2=/media/orderedMusic

for dir in $folder1
do
if []
then
cp
fi
done

最佳答案

这应该可以解决问题:

#!/usr/bin/env bash

folder1=/media/myMusic
folder2=/media/orderedMusic

cd "$folder1" && {
for artist in *; do
dest=$folder2/${artist:0:1}
mkdir -p "$dest"
cp -rp "$artist" "$dest"
done
}

请注意,如果您使用的是区分大小写的文件系统并且艺术家姓名未大写,您将在目标树中为这两种情况获得单独的文件夹。例如一个“A”文件夹和一个“a”文件夹。

关于linux - 按第一个字符复制文件夹的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20769660/

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