gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 08:48:23 25 4
gpt4 key购买 nike

我有几千本电子书需要在通过 SSH 运行 bash 的 headless Linux 服务器上进行整理。值得庆幸的是,所有电子书都按照 2 个约定之一命名。

  • AuthorFirstName AuthorLastName - 书名.pdf
  • AuthorFirstName AuthorLastName - 图书系列 #inSeries - 图书标题.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 文件的文件名,然后将文件移动到正确的目录,如果目录尚未创建则创建目录存在。

最佳答案

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

关于bash - 根据文件名的第一部分将文件移动到目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1251938/

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