スキップしてメイン コンテンツに移動

投稿

Linuxコマンド1行で、ファイルが空かどうか判定してメッセージ出力

もっとスマートなやり方があるかもしれませんが、下記のコマンドで実現できます。 du -h {調べたい対象のファイル} | awk -F ' ' '{if (\$1 == 0) print "file is empty"; else print "file is not empty";}' duコマンドの結果でファイルサイズを取得 (ファイルサイズ取れればどんなコマンドでもOK) コマンド出力結果でファイルサイズの部分が0かどうかをawkで判定して、ファイルサイズの結果に応じてメッセージを出力

zip圧縮されたsqlを解凍しながらMySQLに実行させる方法

mysqldumpなどで生成されたzip圧縮された巨大なsqlを解凍しながら、mysqlへ実行(リストア)する方法です。 パイプ(|)とリダイレクト(<)を駆使します。 gunzip < test.sql.gz | mysql -u USER -pPASSWORD -D DBNAME ちなみにmysqldumpの出力をzip圧縮する方法は下記になります。 mysqldump -u USER -pPASSWORD DBNAME | gzip > dump.sql.gz

Eclipseでコードカバレッジのハイライトを削除する方法

Eclipseには便利なコードカバレッジ表示機能が搭載されていますが、コード内に緑、赤、黄の色付けがされて煩く感じるときもあると思います。 1度カバレッジの色付けが出てしまった後に消す方法の紹介です(方法は簡単)。 下記のキャプチャの青いマーカーで示した「Remove All Sessions」のボタンを押せばすべて消えます。

MySQLのユーザーの全権限をsqlで取得する方法

MySQLのユーザーの権限は「show grants for user@host」のようにコマンドを実行すれば取得できます。 すべてのユーザーを取得する場合は、mysql.userテーブルからユーザーとホストを取得し、concat関数を使って、全ユーザー分のshow grantsコマンドをsqlとして取得すると楽です。 下記に例を示します。 # 全ユーザー分のshow grants実行コマンドをsqlファイルに出力 mysql -N -e 'SELECT CONCAT("SHOW GRANTS FOR `", user, "`@`", host, "`;") FROM mysql.user order by user, host' > /tmp/show_grants_for_all_users.sql; # 生成したsqlファイルをmysqlで実行させて、あとはlinuxのコマンドを駆使して加工 # 下記は、取得したGRANT文をREVOKEに変換し、権限を削除するためのsqlを生成する例になります。 cat /tmp/show_grants_for_all_users.sql | mysql -N |egrep 'what you would like to extract' | grep -v USAGE | sed -e "s/GRANT/REVOKE/g" -e "s/$/;/g" -e "s/TO/FROM/g" > /tmp/mysql_revoke_example.sql