読者です 読者をやめる 読者になる 読者になる

部分集合を作るあれ

シェル芸 sh

こういうのもあり?

シェル芸で部分集合を全通り求める方法(別解求む) – 上田ブログ

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 を呼び出す

sh

内容までチェックするような、凝ったファイル検査をしたいときに、-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

serverfault.com