UNIX
はじめに こんなデータに出くわした。data.txtとする。 1, hoge, foo, bar, piyo, [ID: 1; a; b; c; d;ID: 2; a; b; c; d;ID: 3; a; b; c; d;ID: 4; a; b; c; d;ID: 5; a; b; c; d;] 2, hoge, foo, bar, piyo, [ID: 1; a; b; c; d;] 3, hoge, foo, bar, piyo…
awkには絶対値を返すabs()関数がないようだ。 ユーザ定義関数は以下のようにして定義可能。 seq 1 10 | awk '{print abs(-$1)} function abs(x){return (x>0)? x:-x}
gnuplot> plot "<cat vec.dat | head -23" using 3 with linevec.datは30万行を超えるデータである.catの結果をパイプでheadに渡すと cat: stdout: Broken pipeなどと仰った.パイプが壊れたようだ.これはcatの結果が30万行と膨大で,その結果が終わるまでにheadを読み込んでいるためと思われる.そもそもcatの後にhaedをする必要は無い.正しくは gnuplot> plot "</cat>
gnuplotでは,複数個のグラフをfor文を用いてplotすることができる.例えば,手元に連番ファイル「00.dat, 01.dat, ... , 09.dat」があったとする.for文を使わない場合は plot "00.dat" u 1:2 with lp title "data 00" replot "00.dat" u 1:2 with lp title…
以下の様なデータ(data.txt)をシェルで転置する. 0 615276 615276 615276 615276 615276 615276 615276 615276 0.1 580455 587213 587232 589734 590158 591019 592493 596381 0.2 500342 522058 521903 530142 531954 534774 539629 552938 0.3 426424 458…
連番画像のファイル名を一気に変えるコマンド. lsで表示したものに番号を振り,それを入力としてawkでコマンドを形成,shで実行する. ls *ppm | cat -n | awk '{printf "cp %s img_%04d.ppm\n", $2, $1}' | shshをevalにすると上手くいかない. (shだと毎…
http://unicus.jp/skmk/archives/315
for f in *.png; do convert -trim $f `echo $f | sed s/png/eps/g` ; doneabc.pngをabc.epsに変換するコマンド.
grep -Er --binary-files=without-match --exclude=Capfile 'runRANSAC' .
忘れないうちにメモ. bashの関数作成 $ function plus() {echo $(($1 + $2));} $ plus 2 3 5functionの後に上記のように書くことで関数を定義できる. main関数の返り値 $ grep ll.dat < ll.dat || echo "not found." -rw-r--r-- 1 hogehoge staff 0 6 27 1…
AWKはUNIX上で開発されたテキスト処理スクリプト言語である.sed,grepと並んで3種の神器なんて呼ばれていたこともあるそうです.今回はawkのGNU版であるgawkを使う. awkによる行・列の指定 -rw-r--r-- 1 hogehoge staff 21 6 27 14:55 #blog_draft# drwx--…
ffmpegを使えば,連番画像から簡単に動画を作ることができる.逆に,動画から連番画像をつくることもできる. ffmpegはよく使っていたにもかかわらず,自分はこの事実を知らなかった.お陰で上記の変換をするプログラムをOpenCVで自作していた... ffmpeg -r …
映像を扱っていると,紙面上に結果を掲載するときにどうしても連番画像をタイル状に並べることが必要となる. このときImageMagickのmontageが非常に便利である. $ montage -tile 20x2 -resize 25% -geometry +2+2 -crop -3-3 -shadow img_0.png img_1.png.…
取り出したいデバイスのあるディレクトリで sudo umount ./16GB_USBとすればアンマウントできる.もし何か別のプロセスがアクセスしていれば umount(/Volumes/16GB_USB): Resource busy -- try 'diskutil unmount'などとでる.プロセスを調べても良いし書い…
Port Forwarding Portforwardingとは,ローカルの特定のポートへのアクセスを別のマシンの指定したポートへ転送することである. Linuxではssh(Secure SHell)によって実現することができる. ssh -fN -L1101:[Remote2]:22 [Remote1] -l [username]root権限で…
シンボリックリンクの張り方 ln -s [リンク元] [シンボリックリンク]ライブラリを追加する際にシンボリックリンクをはることになったが,ぱっと思い出せなかったのでメモ. $ sudo ln -s /home/nkgwww/foo-1.2/libfoo.1.2.so /usr/lib/libfoo.so -s : シンボ…