このサイトのガイドに従って、名前が含まれるデータベースを除外しようとしてturnkey
います。
find /var/lib/mysql -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f5 | grep -v ^mysql\$ | tr \\\r\\\n ,\ `
このコマンドはすべてのデータベース名を返しますが、ターンキーのものを削除するにはどうすればよいですか?
表示するコマンドは、Linux / unix シェル コマンドです。もうひと踏ん張りすれば
grep -v turnkey
「ターンキー」という単語が含まれる行は省略します。
そのようです:
find /var/lib/mysql -mindepth 1 -maxdepth 1 -type d |
cut -d'/' -f5 |
grep -v ^mysql\$ |
grep -v turnkey
tr \\\r\\\n ,\ `
あなたはこれが良い考えかどうか尋ねませんでした。システムの正式な仕様の一部ではない、MySQL サーバーデーモンソフトウェアの特定のオンディスク構造に依存しているため、そうではないと思います。というか、変わるかもしれません。
あなたはこれを行うことができます:
SELECT SCHEMA_NAME FROM `information_schema`.`SCHEMATA`
WHERE SCHEMA_NAME NOT LIKE '%turnkey%'
ORDER BY SCHEMA_NAME
追加のユーティリティなしで、純粋な検索だけで、少し改善されたスクリプトを使用できます。
find /var/lib/mysql -mindepth 1 -maxdepth 1 -type d ! \( -name turnkey -or -name mysql \) -printf "%f "
または、バリアントを変更してステートメントに追加turnkey
しgrep -v
、リストから除外します。
find /var/lib/mysql -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f5 | grep -v "^mysql\$\|^turnkey$" | tr \\\r\\\n ,\ `