MySQL のコメント構文に対応する
MySQL は --
と /* */
だけじゃなくて #
スタイルのコメントもサポートしている。
Emacs の sql-mode だと #
スタイルはサポートしていないので、構文テーブルをどうにかする必要がある。
(add-hook 'sql-mode-hook 'mysql-comment-syntax) (defun mysql-comment-syntax () (setq-local syntax-propertize-function 'mysql-comment-propertize-function)) (defun mysql-comment-propertize-function (begin end) (funcall (syntax-propertize-rules ("\\(#\\).*\\(\n\\)" (1 "<") (2 ">"))) ;; from "#" to newline begin end))
追記 たぶんこっちのほうがいいと思う。データベースごとの設定が標準で用意されていた。 .dir-locals.el に書いておけばプロジェクトごとの設定にも対応できそうである。
(sql-set-product 'mysql)
部分集合を作るあれ
こういうのもあり?
シェル芸で部分集合を全通り求める方法(別解求む) – 上田ブログ
bash-3.2$ echo {{a\,,}{b\,,}{c\,,}{d\,,}} | xargs -n1 | sed -e 's/,\}/}/g' {a,b,c,d} {a,b,c} {a,b,d} {a,b} {a,c,d} {a,c} {a,d} {a} {b,c,d} {b,c} {b,d} {b} {c,d} {c} {d} {}
find -exec で bash を呼び出す
内容までチェックするような、凝ったファイル検査をしたいときに、-exec
節を使いたい。
そういうときは bash
の引数として _
と {}
を渡せばよいようだ。
_
は $0
に埋め込ませるだけである。
$ touch empty.txt $ seq 10 > num1.txt $ seq 4 > num2.txt $ find . -type f -exec bash -c \ 'test $({ echo 0; cat "$1"; } | paste -sd+ - | bc) -eq 10' _ {} \; \ -print ./num2.txt