linux - 一行将与模式匹配的文件 move 到新目录

标签 linux bash unix move

我需要将主目录中的文件 move 到新目录中。我需要选择名称以随机的 20 个大写字母开头的文件。随机集仅包含 4 个字母:T、A、G 或 C。由于搜索的名称存在差异,并且存在由 20 个连续大写字母组成但不满足仅 T、A、G 或 C 要求的名称,因此正则表达式似乎是此处的最佳选择。

我尝试使用正则表达式,但它不适用于此单行代码。

find source -name "([TAGC]{20})" -exec mv -i {} -t ~/dst \; 

有没有一种方法可以使这种情况或类似的单行代码适用于这种情况,或者我需要编写一个脚本吗?

最佳答案

您可以尝试使用 -regex 选项:

find . -regex ".*/[TAGC]{20}[^/]*$" -exec mv -i {} -t ~/dst \;

关于linux - 一行将与模式匹配的文件 move 到新目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41288970/

相关文章:

php - 使用 777 写入文件夹

linux - 使用 Cygwin 编译时遇到问题

linux - 如何设置 curl 以永久使用代理?

linux - Linux 中所有打开的 gnome 终端的列表或名称

bash - curl --output 追加到文件(无 >> 重定向)

linux - 版本控制在多大程度上可以帮助系统管理?

javascript - 我想从 200 页中删除以下脚本

regex - 如何在找到与 sed 的匹配项后仅追加一行?

linux - Bash shell 脚本,仅使用 & 运行脚本的特定部分

c - 如何在 Solaris 上设置输入队列的动态大小?