Skip to content

Instantly share code, notes, and snippets.

View mikkun's full-sized avatar
🐧
:(){ :|:& };:

KUSANAGI Mitsuhisa mikkun

🐧
:(){ :|:& };:
View GitHub Profile
@mikkun
mikkun / tiny_server.pl
Created August 30, 2013 10:29
Tiny HTTP Server in Perl
#!/usr/bin/perl -w
use 5.005;
use strict;
BEGIN { unshift @INC, '.' }
use HTTP::Daemon;
use HTTP::Status;
use IPC::Open2;
@mikkun
mikkun / rec_ustream_live
Created September 4, 2013 00:30
Recording live TV stream from Ustream
#!/bin/bash
#
# rec_ustream_live: Recording live TV stream from Ustream
#
# Written by KUSANAGI Mitsuhisa(mikkun@mbg.nifty.com) / Date: 2012-09-03
tmp=/tmp/$$
ERROR_CHECK ()
{
@mikkun
mikkun / generate_gpl
Created February 24, 2014 17:27
Generate Pantone/DIC/TOYO-like GIMP palette file
#!/bin/bash
#
# generate_gpl: Generate Pantone/DIC/TOYO-like GIMP palette file
#
# Written by KUSANAGI Mitsuhisa <mikkun@mbg.nifty.com> / Date: 2014-02-25
tmp=/tmp/$$
case "$1" in
Pantone)
@mikkun
mikkun / csv2table.sh
Last active August 29, 2015 14:03
CSVファイルからHTMLの表を作るシェルスクリプト(試作品)
#!/usr/bin/env bash
echo '<!DOCTYPE html>' > out.html
echo '<html><body><table border="1">' >> out.html
cat in.csv |
sed -e 's/^"""/"”/g' -e 's/,"""/,"”/g' |
sed -e 's/"""$/”"/g' -e 's/""",/”",/g' |
sed -e 's/""/”/g' |
tr ' ' '\a' |
@mikkun
mikkun / OneLiner-CSV_to_JSON
Created August 1, 2014 09:52
One-Liner: Convert CSV to JSON with header row as key
cat input.csv | awk 'BEGIN{FS=","}NR==1{print "[";n=split($0,k)}NR>=2{for(i=1;i<=n;i++){r=r"\""k[i]"\":\""$i"\", "}{sub(/, $/,"",r);print " {"r"},";r=""}}' | sed '$s/,$/\n]/'
@mikkun
mikkun / Fork_bomb.svg
Created November 10, 2014 09:00
SVG file for printing "Fork bomb" stickers. This file is under the public domain.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@mikkun
mikkun / decode_base32.sh
Created December 8, 2014 01:10
CodeIQ q1169『Restricted Base32』( http://bit.ly/1xiHTFC )解答例
#!/bin/bash
cat - |
tr a-z A-Z |
tr -cd A-Z2-7 |
tr A-Z2-7 0-9A-V |
fold -w1 |
sed \$s/$/\\\n/ |
while read _32; do echo $((32#$_32)); done |
while read _10; do echo obase=2\;$_10 | bc; done |
sed s/^/0000/g |
@mikkun
mikkun / 14thArtsOfShellOneLiners.txt
Last active August 29, 2015 14:11
「第14回東京居残りシェル芸勉強会&第32回蟹ではなくピザが出るUSP友の会定例会」解答例
2014/12/13「第14回東京居残りシェル芸勉強会」の解答例
問題URL: http://blog.ueda.asia/?p=4671
Togetterまとめ: http://togetter.com/li/757291
A1:
echo 'define f(x){if(x<=1)return(1);return(f(x-1)*x)};f(100)' | bc
A2:
@mikkun
mikkun / 2015NewYearsHolidayArtsOfShellOneLiners.txt
Last active August 29, 2015 14:12
上田ブログ「【問題】年末年始シェル芸問題集」解答例
2014/12/30「年末年始シェル芸問題集」の解答例
問題URL: http://blog.ueda.asia/?p=4852
A1:
find ~/ -type f -a \( -iname '*.jpg' -o -iname '*.jpeg' \) -print0 | xargs -0 md5sum | sort -k1d | awk '{if($1==M){print M,P"\n"$1,$2}{M=$1;P=$2}}' | uniq
A2:
curl -s 'http://www.geocoding.jp/api/?q=羽田空港' | grep '^<\(lat\|lng\)_' | sed 's/<[^>]\+>//g' | awk -F',' '{print "緯度:"$1"度"$2"分"$3"秒"}' | sed '2s/^緯/経/'
@mikkun
mikkun / tirashi_kakunin
Created April 24, 2015 09:45
サミットストア荏原4丁目店のWebページが更新されているか30分毎に確認するシェル芸(GNOME・Xfce用) ※試作版です
URI='http://www.summitstore.co.jp/tirashi/doc/435a.html?1'; chkmd5(){ wget -q -rl1 -nd -P img -A html,gif,jpg "$URI"; find img -type f | sort -n | xargs md5sum; }; while :; do [ "_$(diff <(chkmd5) <(sleep 30m; chkmd5))" = "_" ] || notify-send -i info "更新あり: サミットストア荏原4丁目店"; done