クリップボードから関数作成

 シェルスクリプト作成用に作成。

クリップボードに
貼り付けたスクリプトから
関数を作成するには下のようにするとよい。
$ xsel --clipboard --output | awk 'BEGIN { print "function funcname() {"} { print "    ",$0} END { print "}"}'


また、オプションの引数として、
関数名をわたしたら、それを使って関数名を作成するようにしたい。
(オプションを渡さない場合はデフォルトで"funcname"という名前の
関数が作成される。)
これを関数として作成すると下のようになる。

function clip2function() {
    local funcname="funcname"
    if test ! -z $1 ; then
        funcname=$1
    fi
    xsel --clipboard --output | awk -v fname=$funcname 'BEGIN { print "function",fname,"() {"} { print "    ",$0} END { print "}"}'

}

これをいつもと同様に
~/bin/myfunction
に置き、

~/.bashrc(macの人は.bash_profile)に
source ~/bin/myfunction
としておく



これで

$ clip2function 関数名を決めるオプションの引数

でクリップボードにあるスクリプトが関数として表示されるはずだ。

これを使って、

$ clip2function オプション引数 | cat >> 関数が書かれているファイル
とするとファイルに関数の内容が追記することができる。



コメント

人気の投稿