我有一个包含.sql个文件的目录,mysql将每个数据库的文件转储到我的服务器上.

例如

database1-2011-01-15.sql
database2-2011-01-15.sql
...

实际上有很多.

我需要创建一个shell脚本或单行,可能会导入每个数据库.

我在Linux Debian机器上运行.

我认为有一种方法可以将ls的结果导入到find命令中..

非常感谢您的帮助和教育.

EDIT

所以最终我想一次自动将一个文件导入数据库.

例如,如果我在一台机器上手动操作,它将是:

mysql -u root -ppassword < database1-2011-01-15.sql

推荐答案

cat *.sql | mysql? 您需要按特定顺序订购吗?

如果你有太多的问题需要这样处理,那么可以try 以下方法:

find . -name '*.sql' | awk '{ print "source",$0 }' | mysql --batch

这也解决了通过管道传递脚本输入的一些问题,尽管在Linux下,管道处理不应该有任何问题.这种方法的好处是,mysql实用程序读取每个文件,而不是从stdin读取.

Linux相关问答推荐

如何将netcdf文件列表中的特定变量添加到不同的文件中?

在Linix&;Mac中运行Reaction本机项目时出现问题

Linux内核模块构建过程中,许可信息添加了前缀

线程创建会在 Linux 中触发页面错误吗?它与软脏 PTE 有什么关系?

如何在 gcc 搜索路径上防止多个版本的 Boost?

为什么rsp寄存器从0x7FFFFFFFDFD0开始

使用 sed 从文本文件中删除特定字符串

如何在 Linux 上使用 -grep 构建过滤间隔的命令

查找在特定日期从特定机器登录的所有用户

使用 awk 将 csv 拆分为带有标题的多个文件

为什么 perf 不报告缓存未命中?

size_t 和 off_t 的用法有什么区别?

bashrc 在运行 bash 命令之前不会加载

如何在 shell 脚本中向文件中添加一行?

如何使用 Linux 命令找到我的 shell 版本?

如何从目录复制内容而不是符号链接?

如何在 Linux 中将 .so 文件添加到 java.library.path

通过 linux x86-64 函数调用保留了哪些寄存器

Linux 上的最大文件/目录数?

如何制作和应用SVN补丁?