我的示例字符串如下:
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) 我有几千个电子书需要在通过SSH运行bash的无头linux服务器上进行组织.值得庆幸的是,所有电子书都以2种惯例之一命名.
我想做的是将所有书籍都移到一个有组织的系统中,例如:
`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文件的文件名,然后将文件移动到正确的目录,如果目录尚不存在则创建该目录.