我有几千本电子书需要组织在通过SSH运行bash的无头linux服务器上。所有的电子书都以2种习惯之一命名。根据文件名的第一部分将文件移动到目录?
- AuthorFirstName AuthorLastName - 图书Title.pdf
- AuthorFirstName AuthorLastName - 丛书#inSeries - 图书 Title.pdf
我想要做的是把所有的书移入有组织的系统如:
`DestinationDirectory/FirstLetterOfAuthorFirstName/Author Full Name/pdf's`
eg以下书籍
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文件的文件名在当前帮助目录,然后将这些文件移动到正确的目录,如果该目录不存在,则创建该目录。
谢谢!这很好地解决了! sed和cut是我以前没有使用过的程序,我可以看到它们是我应该学习的东西 – 2009-08-09 19:37:33
嵌套的'ls'命令是不必要的。这比绰绰有余:'用于* .pdf的f;做......我一直在想为什么人们用这种方式使用'ls'。 – greyfade 2009-08-09 21:55:15
@greyfade ls存在的原因是因为否则如果当前工作目录中没有PDF文件时脚本运行时脚本会出错/失败 – 2009-08-11 00:27:35