当前位置:  开发笔记 > 编程语言 > 正文

根据文件名的第一部分将文件移动到目录?

如何解决《根据文件名的第一部分将文件移动到目录?》经验,为你挑选了1个好方法。

我有几千个电子书需要在通过SSH运行bash的无头linux服务器上进行组织.值得庆幸的是,所有电子书都以2种惯例之一命名.

AuthorFirstName AuthorLastName - Book Title.pdf

AuthorFirstName AuthorLastName - Book Series #inSeries - Book Title.pdf

我想做的是将所有书籍都移到一个有组织的系统中,例如:

`DestinationDirectory/FirstLetterOfAuthorFirstName/Author Full Name/pdf's`

例如以下书籍

Andrew Weiner - Changes.pdf 
Allan Cole - Timura Trilogy 01 - When the Gods Slept.pdf

应放在以下文件夹中

/books/A/Allan Cole/Allan Cole - Timura Trilogy 01 - When the Gods Slept.pdf
/books/A/Andrew Weiner/Andrew Weiner - Changes.pdf

我需要帮助,如何将这些全部放入一个bash脚本,该脚本将获取当前目录中所有PDF文件的文件名,然后将文件移动到正确的目录,如果目录尚不存在则创建该目录.



1> chaos..:
for f in *.pdf; do
    name=`echo "$f"|sed 's/ -.*//'`
    letter=`echo "$name"|cut -c1`
    dir="DestinationDirectory/$letter/$name"
    mkdir -p "$dir"
    mv "$f" "$dir"
done

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有