クリップボードにコピーしたコマンドをそのまま実行する(応用編補足)
前回の補足
whileでやるよりxargsを使ったほうが
良いのでは?という人もいるかもしれないが、
xargsはコマンドしか受け付けず、組み込み関数であるevalをそのまま使うことができない。
やるなら下のように
$ xsel --clipboard --output | xargs -L1 -I{} bash -c 'eval {}'
とする必要がある。
前回作成したclipexeと
実行にかかる時間を比較してみる。
下の2行のコマンドを実行するとする
zypper se postgresql
zypper se mysql
実行環境
OS:OpenSUSE 42 leap
CPU:Corei5
メモリ 8M
timeコマンドで計測するために、
一度ファイルにスクリプトを書き込む。
$ echo 'clipexe' | cat > 'while.manner'
$ time source while.manner
実行時間は下のようになった
real 0m19.011s
user 0m3.256s
sys 0m0.444s
上と同様に
一度ファイルにスクリプトを作成する。
$ echo "xsel --clipboard --output | xargs -L1 -I{} bash -c 'eval {}'" | cat > 'xargs.manner'
$ time source xargs.manner
real 0m19.127s
user 0m3.308s
sys 0m0.445s
やはり、
わずかながら、whileを使ったほうが早い。
whileでやるよりxargsを使ったほうが
良いのでは?という人もいるかもしれないが、
xargsはコマンドしか受け付けず、組み込み関数であるevalをそのまま使うことができない。
やるなら下のように
$ xsel --clipboard --output | xargs -L1 -I{} bash -c 'eval {}'
とする必要がある。
前回作成したclipexeと
実行にかかる時間を比較してみる。
下の2行のコマンドを実行するとする
zypper se postgresql
zypper se mysql
実行環境
OS:OpenSUSE 42 leap
CPU:Corei5
メモリ 8M
timeコマンドで計測するために、
一度ファイルにスクリプトを書き込む。
$ echo 'clipexe' | cat > 'while.manner'
$ time source while.manner
実行時間は下のようになった
real 0m19.011s
user 0m3.256s
sys 0m0.444s
上と同様に
一度ファイルにスクリプトを作成する。
$ echo "xsel --clipboard --output | xargs -L1 -I{} bash -c 'eval {}'" | cat > 'xargs.manner'
$ time source xargs.manner
real 0m19.127s
user 0m3.308s
sys 0m0.445s
やはり、
わずかながら、whileを使ったほうが早い。
コメント
コメントを投稿