mysql-将数据两次传递给xargs

tmp文件包含:

database_1
database_2
database_3

我要为上述文件中的每一行运行一个命令,例如“ mysqldump DATABASE> database.sql&& gzip database.sql”.

我已经了解到cat / tmp / database-list | xargs -L 1 mysqldump -u根-p

我想我想知道如何将传递到xargs的数据放入多次(而不只是在末端)

编辑:以下命令将每个数据库转储到其自己的.sql文件中,然后将其gzip.

mysql -u root -pPASSWORD -B -e 'show databases' | sed -e '$!N; s/Database\n//' | xargs -L1 -I db mysqldump -u root -pPASSWORD -r db.backup.sql db; gzip *.sql

解决方法:

在您自己的示例中,您使用&&在一行上使用两个命令-为什么不这样做

cat file | xargs -L1 -I db mysqldump db > db.sql && cat file | xargs -L1 -I db gzip database.sql

如果您真的只想使用xargs在一行中完成所有操作.虽然我相信

cat file | xargs -L1 -I db mysqldump db > db.sql && cat file; gzip *.sql

会更有意义.

上一篇:linux常用命令指南——查找文件我最强:find


下一篇:第36月第19天 多个tomcat查端口