gpt4 book ai didi

linux - 未能创建符号链接(symbolic link) - 没有这样的文件或目录

转载 作者:行者123 更新时间:2023-12-05 01:35:19 27 4
gpt4 key购买 nike

<分区>

我运行了 reddit 上一位用户为我写的命令:

dest=final_dir
files=$(find dir1 dir2 dir3 -type f)


for file_path in $files; do
IFS='/' read -r -a tokens <<< "$file_path"
dest_fname="${tokens[1]}.${tokens[0]}"
ln -s "$PWD/$file_path" "$PWD/$dest/$dest_fname"
done

它应该获取所有子文件夹中的所有文件,并创建一个指向另一个目录的符号链接(symbolic link),链接名称为文件名+文件文件夹。但是它确实只给我错误:无法创建符号链接(symbolic link) - 没有这样的文件或目录这是控制台的屏幕截图: https://imgur.com/36F4sdX

任何想法可能是什么问题?

编辑:好的,问题似乎是当路径包含空格时,它认为名称停在该空格处,因此找不到文件。知道如何解决这个问题吗?

这里描述了脚本应该做什么。我当前的文件系统如下所示:

目录 1:文件 1、文件 2

目录2:文件1,文件2

如果我现在运行上面的命令,我会得到:

目录 3:文件 1、文件 2

另外 2 个文件由于同名而被跳过。

还给出了这种情况:

目录 1:文件 1、文件 3

目录2:文件2,文件4

在这种情况下,文件将混合为:

目录 3:文件 1、文件 2、文件 3、文件 4

我想要的是:

目录 3:文件 1、文件 3、文件 2、文件 4

在我看来,实现这一目标的最简单方法是将源文件夹作为符号链接(symbolic link)名称的一部分,如下所示:

目录 3:目录 1-文件 1、目录 1-文件 3、目录 2-文件 3、目录 2-文件 4

我希望这能很好地解释它。

现在的问题似乎是,当文件名或文件夹名包含任何特殊字符(如“-”或“_”)时,它会停止读取名称。

这导致:dir1-2: file3-4 创建一个指向不存在的 dir1.file3 的符号链接(symbolic link)

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