首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从文件中的文件路径创建链接?

如何从文件中的文件路径创建链接?
EN

Stack Overflow用户
提问于 2012-02-27 04:09:11
回答 2查看 80关注 0票数 0

背景故事:

我的音乐收藏中有MP3和FLAC文件。我在music/mp3下组织了MP3s,在music/flac下组织了flac。虽然我更喜欢听FLAC文件,但我的大部分音乐都是MP3s格式的。音乐/mp3中的几首歌曲与音乐/flac中的歌曲是相同的。

当我的桌面音乐播放器创建音乐目录库时,这些歌曲会被复制。我希望将/ MP3s /mp3独有的音乐链接到它们自己的目录,以便我的音乐播放器可以扫描它和/ music /flac。这样所有的歌曲,我有一个FLAC编码和独特的MP3s,将被播放。

问题:

我确定了哪些歌曲是音乐/mp3独有的,并且我有一个文件,其中包含由换行符分隔的绝对路径名。如何让ln命令遍历每一行(创建一个链接,比如音乐/mp3_ line )?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-27 04:31:54

我认为ln不具备从文件创建链接的能力,但是既然您使用的是bash,那么您可以这样做:

代码语言:javascript
复制
for i in `cat file`;do ln -s $i;done

其中,file是具有绝对路径的文件的名称

票数 0
EN

Stack Overflow用户

发布于 2012-02-27 05:08:53

如果所有文件都在同一文件系统上,则可以使用硬链接而不是软链接。这样做的好处是您不再需要使用绝对路径名。在这种情况下,我很想做这样的事情:

所以..。假设您有一个文件树,如下所示:

/music /音乐/MP3/音乐/flac

在music下创建一个“scanme”目录,并创建指向您想要播放的所有音乐的硬链接:

代码语言:javascript
复制
mkdir /music/scanme
cd /music/scanme
( cat ../mp3/unique.txt; find ../flac ) | while read file
do
    ln "$file" $(basename "$file")
done

当文件名包含空格时,这将起作用,而直接的for循环则不会。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9456695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档