shell

開発者向けドキュメント(epub,英語)が無料でダウンロード可能になってたのでiBooksで英和辞書を使えるようにしてみたよ[jailbreak不要]

開発者サイトにログインしたらPDFがダウンロードできたけど、PC向けだったりしてあまり読みやすいとは言えない代物だったのでこれはうれしいとばかりに早速入手。 まずはiPhoneとiTunesを同期させる。 iTunesのブックから、ダウンロードしたやつを右クリック…

Linuxでload averageを時系列で可視化するワンライナー

perl -le 'sleep 1 and print "|" x (100 * `cat /proc/loadavg | cut -d " " -f1`) while 1'↑/proc/loadavgを見ればOK while :;do sleep 1; cat /proc/loadavg | cut -d " " -f1 | perl -nle 'print q{|}x($_*100)';done;↑こちらの場合は毎回perlを呼び出し…

shellのTips

初期値設定 引数が設定されていなかったら、指定した初期値を設定して処理を続ける func(){ local arg1=${1:-default1} echo $arg1 }変数を指定した場合 $ func test test指定していない場合 $ func default1 文字列から指定した文字を削除する 先頭、もしく…

ニコ動のflvやmp4からmp3を抜きだす

以下のスクリプトを保存して、Terminalから呼びだす。 使い方は、引数にflvかmp4のファイルを指定するだけ。 FFMPEGは自分の環境に合わせて書き換えるべし。iSquintがインストールされている人はそのままで良い。 #!/bin/bash FFMPEG=/Applications/iSquint.…

名前付きパイプ2

前回の例では、無駄にリダイレクション「>&3」とか「>&4」とか使ってたけど 結局以下の例と同じだということに気がついた。while read n do echo $n > /tmp/fifo1 echo $n > /tmp/fifo2 done# fifo1,fifo2 は 名前付きパイプ名前付きパイプは書き込み側と読…

名前付きパイプ

shellで名前付きパイプを使うには mkfifo を使う(mknodでもできるらしい) 名前付きパイプの生成 読み込み専用で開く 書き込みを開始する 閉じる ここで、注意。 読み込み専用で名前付きパイプを開いたら、書き込みが閉じられるまで、その後の処理がブロック…

パイプ

shellはパイプでコマンドを繋ぐことができます。例えばls | wc -l #カレントディレクトリのファイル数を表示「ls」がカレントディレクトリのファイルをリストするコマンドで(パイプが繋がれた場合行で区切られる)、 「wc -l」が入力された行数を数えるコマン…

${○○%××}続き

仕事柄、テキトーな自動処理を組むことがあるんだけど、 最近知ったこの一見わけわかめな記号なかなか使えるかも。この処理は大きく二つの処理に分けられる。 ${○○%××} ${○○%%××} ${○○#××} ${○○##××}%は後方一致、#は前方一致である。 一つの場合は最短マッ…

${○○%××}

${str%*.} ${str%%*.} ${str#*.} ${str##*.}これらの使用方法をマスターできると、結構shellも便利ではないかと思う。 ちょっとした文字列処理でも、perlとかawk,sed使わなくても処理できそう。具体的にはまた後でかく

ちょっと便利な変数使用法

UnixやMacOSで使用できるコマンドラインで動作するshellで、ループといえば for i in a b c d e f do echo $i done > # 1行毎にaからfを表示ってかんじ。 でもこうするとループする対象を変数に格納して使いまわせる group="a b c d e f" for i in `echo $gr…