相关疑难解决方法(0)

如何使用sed从字符串中提取文本?

我的示例字符串如下:

This is 02G05 a test string 20-Jul-2012
Run Code Online (Sandbox Code Playgroud)

现在从我想要提取的上面的字符串02G05.为此我用sed尝试了以下正则表达式

$ echo "This is 02G05 a test string 20-Jul-2012" | sed -n '/\d+G\d+/p'
Run Code Online (Sandbox Code Playgroud)

但上面的命令没有打印任何东西,我相信它的原因是它无法匹配我提供给sed的模式.

所以,我的问题是我在这里做错了什么以及如何纠正它.

当我用python尝试上面的字符串和模式时,我得到了我的结果

>>> re.findall(r'\d+G\d+',st)
['02G05']
>>>
Run Code Online (Sandbox Code Playgroud)

regex bash sed

83
推荐指数
4
解决办法
19万
查看次数

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

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

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

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

`DestinationDirectory/FirstLetterOfAuthorFirstName/Author Full Name/pdf's`
Run Code Online (Sandbox Code Playgroud)

例如以下书籍

Andrew Weiner - Changes.pdf 
Allan Cole - Timura Trilogy 01 - When the Gods Slept.pdf
Run Code Online (Sandbox Code Playgroud)

应放在以下文件夹中

/books/A/Allan Cole/Allan Cole - Timura Trilogy 01 - When the Gods Slept.pdf
/books/A/Andrew Weiner/Andrew Weiner - Changes.pdf
Run Code Online (Sandbox Code Playgroud)

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

bash filenames

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

bash ×2

filenames ×1

regex ×1

sed ×1