〜2015年12月下旬〜
なんか全然充電されないないなとUSB ACアダプタを疑っていたが、
なんとテーブルタップのプラグが抜けたままになっていた。
まさかそんな単純な理由とは。
備忘録。
ローカルコンピューターポリシーの[管理用テンプレート]-[Windows コンポーネント]-[Windows Update]
スケジュールされた自動更新のインストールで、ログオンしているーザーがいる場合には自動的に再起動しない
を有効に。
43で無効にされちゃったので更新を確認してみたら、新しいバージョンはないようで。
それどころかFirefoxとPocketが統合されてすぐに削除されていた。
これって全然機能が違うので残念な話だ。44になったら完全に使えなくなるな。
明日リリース予定のRuby 2.3.0ではdid_you_meanというgem packageがdefaultで有効になる。
こんな感じだ。
% ruby -e 'ptus "hoge"' -e:1:in `<main>': undefined method `ptus' for main:Object (NoMethodError) Did you mean? puts
なかなか賢い。
Ruby 2.3.0がリリースされれば当然のことながらtrunkは2.4.0になるのである。
% ruby -v ruby 2.4.0dev (2015-12-25 trunk 53302) [x86_64-linux]
インストールしたら、もろもろgemを更新しないといけなくなってちょっと後悔した。
例によってUstで参戦。
最初はfile_{A,B}とか使ったけど、
これじゃC,Dと増えたら破綻するので、
ちゃんとグループをlsから得るようにした。
$ ls | grep -o file_. | uniq | xargs -I@ sh -c 'echo -n "@ ";sort @* | sort -n | tail -n1' file_A 233333 file_B 9912
短くしてみたら、なんか結局解答例と変わらない結果に。
$ grep ^ * | sed 's/-.:/ /' | sort -k1,1 -k2,2nr | uniq -w6 file_A 233333 file_B 9912
普通にsedで不要な部分をけずってついでにgrep的に。
$ curl -s http://ja.uncyclopedia.info/wiki/%E3%82%B7%E3%82%A7%E3%83%AB%E8%8A%B8 | sed -n '/^\$ eval/s/\$ //p' | bash
sed -n 's///p' で置換が実行されたときだけ表示できる。
これもpasteを使うこうなる。
$ paste -d ' ' <(grep '[13579]$' Q3 | sort -n) <(grep '[02468]$' Q3 | sort -rn)
trでやるかpasteのオプションでやるかの違い。
これはzshだと$TTYで参照できるのでちょっと楽。
あと/dev/をけずるよりも足すほうが簡単。
% ps h | awk '"/dev/"$2!=tty&&$0=$1' tty=$TTY | xargs kill -9
1年前の約分をそのまま流用。
$ echo 1071 1029 | ruby -ane 'p eval$F*".gcd("+")"' 21 $ echo 1071 1029 | awk '{while ($1 = $2 % ($2 = $1));print $2}' 21 $ echo 1071 1029 | (read m n; while ((n=m%(m=n)));do :;done;echo $m) 21
これもひねりなし。
$ awk -F' ' '{for(i=1;i<=NF;i++)a[$i]=a[$i]" "i}END{for(i in a)print i a[i]}' Q6 武田 4 2 上田 2 3 吉田 3 1 山田 1 4
どこかのサイトから拾ってくるというのはお約束なので省略。
jotを使った方法。
$ printf $(jot -s '' -w'\u%x' 395 0x9b5a)
jotは16進でも指定できるんだな。しかし回数指定が面倒。
gemにはzen_to_iってのがあるので。
$ ruby -rzen_to_i -ne 'puts $_.zen_to_i' Q8 5735 4003 45 96233 11 112
sedで変換してbcの場合、一百とかないのでその例外処理をどうするかだけ気をつける。
$ sed 'y/一二三四五六七八九/123456789/;s/十/*10+/;s/百/*100+/;s/千/*1000+/;s/万/*10000+/;s/\(^\|+\)\*/\1/g' Q8 | bc 5735 4003 45 96233 11 112
GNU trはマルチバイト対応してないので、GNU sedを使うしかない。
無理矢理gawkで。
$ gawk '{s=0;for(i=1;$i;i++){j=index("一二三四五六七八九十百千万",$i);if(j>9)s+=k*10^(j-9);else{k=j;i==NF&&s+=j}}}$0=s' FS= Q8 5735 4003 45 96233 31 112
直前のコマンドラインにハッシュタグ「#シェル芸」をつけてツイートするためのコマンドを作りました。 - くんすとの備忘録
これはbashだけど、aliasの部分をzshに合わせてあげればzshでも使えるようになる。
alias show-current-cmdline='history -p !!'
の部分を
alias show-current-cmdline='fc -ln -1 -1'
とすればok。
馬場のシェーキーズがなんと4月に閉店していた。
事前に柴田さんが察知してなければ途方に暮れるところだった。
というわけで秋葉原のHUBで。
例によって20分ぐらい彷徨った。よく見つかった。よかった。
なんかいろいろ話した。場所が秋葉になったので新しい人も増えた。
家に着いたらヤニ臭くて参った。
@_ko1,@a_matsuda,@eban,@gotoken,@gotoyuzo,@hemge,@hsbt,@nahi,@takkanm
Zshにはrepeatという繰り返し実行できる便利な内部コマンドがある。 でも直感に反する挙動になっている。
% repeat 2 echo a a a % repeat 2 echo a > tmp.txt % cat tmp.txt a
なぜか1個しかない。これはつまり
echo a > tmp.txt
を2回実行していることを意味する。
繰り返し実行した結果を保存するには>>を使うか、
% repeat 2 { echo a; } > tmp.txt % cat tmp.txt a a
のように{}を使う必要あり。
()だとだめ。
wgetなら-iで簡単にできるが、man curlしてもそんなオプションはないように思える。
しかし、-K(--config)の設定ファイルでurlを複数指定すればいける。
-K -とすれば標準入力から設定ファイルを受けつけるので、
% curl -Ls yahoo.co.jp | grep -aPo 'img src="\K.*?\.(png|jpg|gif)(?=")' | sort -u | sed 's/^/-LO\nurl=/' | curl -sK -
とすれば画像を落とせる。
-LO url=http://k.yimg.jp/images/clear.gif
というような文字列を生成している。
-LOは
sed 's/^/url=/;1i-LO'
のように最初に1回指定すればいいような気がするが、
なぜか毎回指定しないといけないようで。
kを初期化してないので「百」のときに0になってしまうバグがあった。
% echo 百 | gawk '{s=0;for(i=1;$i;i++){j=index("一二三四五六七八九十百千万",$i);if(j>9)s+=k*10^(j-9);else{s+=(k=j)*(i==NF)}}}$0=s""' FS= 0 % echo 百 | gawk '{s=0;for(i=k=1;$i;i++){j=index("一二三四五六七八九十百千万",$i);if(j>9)s+=k*10^(j-9);else{s+=(k=j)*(i==NF)}}}$0=s""' FS= 100
なんかまだバグがありそう。十万で破綻するとか。