Mysql
如何在 mysqldump 文件中列出數據庫名稱?
我有一個很大的 mysqldump,我需要在一個一個導入之前創建數據庫。如何使用 linux 或 mysql 終端僅搜尋和列出數據庫名稱?
提議的解決方案
DUMPFILE=mydump.sql grep "^USE " ${DUMPFILE} | sed 's/;//' | sed 's/`//g' | awk '{print $2}'
例子
# grep "^USE " dump.sql | sed 's/;//' | sed 's/`//g' | awk '{print $2}' CR1281653 CR1289379 MasterDB ProjectDB TPLB23 a110107 a110107_copy cardfree_orders_lab mysql nulldatetest part_lab part_test partition_engine redwards scmp_lab topup_lab wsms2_lab zenith_lab CR1281653 CR1289379 MasterDB ProjectDB TPLB23 a110107 a110107_copy cardfree_orders_lab mysql nulldatetest part_lab part_test partition_engine redwards scmp_lab topup_lab wsms2_lab zenith_lab #
您可以將它們收集在一個變數中(注意:您必須轉義反引號)
# DBLIST=`grep "^USE " dump.sql | sed 's/;//' | sed 's/\`//g' | awk '{print $2}'` # echo ${DBLIST} CR1281653 CR1289379 MasterDB ProjectDB TPLB23 a110107 a110107_copy cardfree_orders_lab mysql nulldatetest part_lab part_test partition_engine redwards scmp_lab topup_lab wsms2_lab zenith_lab CR1281653 CR1289379 MasterDB ProjectDB TPLB23 a110107 a110107_copy cardfree_orders_lab mysql nulldatetest part_lab part_test partition_engine redwards scmp_lab topup_lab wsms2_lab zenith_lab #
試試看 !!!