Last active
August 2, 2019 01:40
-
-
Save akanehara/8cf597e1b4e30d246387337d39cb0757 to your computer and use it in GitHub Desktop.
非実用一行野郎
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# スプレッドシートの37万8861列目は UNKO | |
echo UNKO | perl -aple 'my($d,$x);for(map ord(uc$_)-65,reverse split//,$F[0]){$x+=($_+1)*(26**$d++)};$_=$x' | |
# dcイディオム(map) | |
seq 10 | dc -e '[2*]sF' -e '?[lFxpc?z0<.]ds.x' | |
# dcイディオム(reduce) | |
seq 10 | dc -e '[+]sF?' -e '?[lFx?z1<.]s.z0<.p' | |
# 10進encode | |
printf akanehara | xxd -u -p | tr -d '\n' | dc -e '16i?p' | tr -d '\n\\' | |
# 10進decode | |
echo 1797071762166447698529 | dc -e '16o?p' | tr -d '\n\\' | xxd -p -r | |
# 素因数分解encode | |
printf 素因数 | xxd -u -p | dc -e '10o16i?p' | tr -d '\n\\' | factor | cut -d \ -f2- | |
# 素因数分解decode | |
dc -e '16o?[*z1<.]s.z1<.p' | tr -d '\n\\' | xxd -p -r | |
# 九九の表 (dc) | |
seq 11 99 | sed '/0/d;s/.*/&*&/;s/./& /g;s/$/rn[x]nn[=]np/' | dc | xargs -n9 | |
# 九九の表 (AWK) | |
seq 11 99 | sed 's/./& /g' | awk '!/0/&&$0=$1"x"$2"="$1*$2' | xargs -n9 | |
# ますみ | |
S=https;W=ja.wikipedia.org;K='(href|src|srcset)';curl -L $S://$W/wiki/スターリン|sed -E -e 's@'$K'="/([^/])@\1="'$S'://'$W'/\2@g;s@'$K'="//@\1="'$S'://@g' -e 's/スターリン/真澄/g;s/ヨシフ/岡田/g;s/・//g;s/ヴィッサリオノヴィチ/ファンファン/g' >_.html&&open _.html | |
# 知らんけど答弁 | |
curl -s "http://kokkai.ndl.go.jp/api/1.0/speech?$(echo 'speaker=安倍晋三' | perl -MURI::Escape -ple '$_=uri_escape $_;')" | xmllint --encode utf-8 --xpath "//session|//nameOfHouse|//nameOfMeeting|//date|//speech|//speaker" - | nkf --numchar-input | tr -d '\n' | LANG=C LC_ALL=C sed -e 's/ *//g' | sed -e 's/<[\/0-9a-zA-Z]*>/ /g' | xargs -n6 | sed -e 's/。/。知らんけど。/g' | |
# 32回シェル芸勉強会 Q1 | |
echo 14679 | sed 's/\(.\)/\1 /g' | rev | sed 's/$/ 0sr [lr 1 + sr d lr !=h d lr =g z 0 !=f]sf [n[]pn]sg [[]pn]sh lfx/' | dc | |
# (dc)フィボナッチ数列 | |
dc -e '0 1 [p d sa + la r l.x]d s. x' | head -n100 | |
# (dc)ユークリッドの互除法 | |
echo 1071 1029 | dc -e '? [sn ln % ln r d 0 !=.]d s. x r p' | |
# (dc) Fizz Buzz | |
seq 30 | dc -e '[[Fizz]n 1sR]sF [[Buzz]n 1sR]sB [n]sX [0sR d3%0=F d5%0=B lR0=X []p c ? z0<.]s. ? l.x' | |
dc -e '[[Fizz]n 1sR]sF [[Buzz]n 1sR]sB [dn]sX [0sR d3%0=F d5%0=B lR0=X []pn 1 + z0<.]s. 1 l.x' | head -n30 | |
# rot13 | |
tr a-zA-Z n-za-mN-ZA-M | |
# 鳥獣戯画をさがせ | |
seq 1234 4321 | awk '/1/&&/2/&&/3/&&/4/' | sed 'y/1234/鳥獣戯画/' | gsort -R | |
seq 4321|awk '/1/&&/2/&&/3/&&/4/'|sed 'y/1234/鳥獣戯画/'|awk 'BEGIN{srand()}$0=rand()"\t"$0'|sort -k1,1n|cut -f2- | |
# ワンライナーを gzip . Base64 エンコード | |
gzip <<"EOT" | base64 | tr -d \\n | |
echo-sd 鳥獣戯画をさがせ!;echo;seq 4321|awk '/1/&&/2/&&/3/&&/4/'|sed 'y/1234/鳥獣戯画/'|awk 'BEGIN{srand()}$0=rand()"\t"$0'|sort -k1,1n|cut -f2-|column | |
EOT | |
# gzip . Base64 されたワンライナーをデコード・展開・実行 | |
base64 --decode|gzip -d|sh | |
# 行列転置 | |
awk '{if(C<NF)C=NF;for(f=1;f<=NF;f++){a[NR,f]=$f}}END{for(i=1;i<=C;i++){r="";for(j=1;j<=NR;j++){r=r a[j,i]" "};print r}}' | |
# [備忘] 汝、ホールドスペースを忘れるな | |
seq 5 | sed '1!G;$!h;$!d;' | |
# 前方でグルーピング | |
BASELENGTH=3; (seq 10000 10009; seq 20000 20009) | sed -E 's/^(.{'$BASELENGTH'})(.*)$/\1 \2/' | sort -k1 | awk '!d[$1]{d[$1]=$2} d[$1]{d[$1]=d[$1]","$2} END{for(k in d){print k"{"d[k]"}"}}' | |
# 端末芸下書き | |
seq 1 50 | sed 's/.*/&;s(&\/3)*30+45/' | bc -l | sed 's/\..*$//' | xargs -n2 | while read x y; do tput cup $x $y; printf "$y"; done | |
# すごーい」or「そうなんだー」or「たのしー」しか喋らないHTTP 1.0 サーバー | |
while :;do ! (echo HTTP/1.0 200 OK;echo;echo すごーい そうなんだー たのしー|awk '$0=$'$((`od -vAn -tu1 -N1 /dev/urandom`%3+1))'')|nc -Cl 8080&&break;done | |
# to UpperCamelCase | |
# 未完成 | |
# TODO: もっと煮詰める | |
# TODO: 逆操作もほしい | |
echo upper_camel_case | gsed 's/\([a-z]\)\([a-z]*\)/\u\1\2/; s/_\([a-z]\)\([a-z]*\)/\u\1\2/g' | |
# 素数個の素数の積からなる合成数 | |
seq 1000 | factor | while read x; do if echo $x | awk '{print NF-1}' | factor | awk '{if(NF!=2){exit 1}}'; then echo $x; fi; done; | |
# 長さと幅から範囲のリストを生成 | |
awk -v L=10 -v W=3 'BEGIN{C=0;while(C<L){A=C;B=C+W-1;if((L-1)<B){B=L-1};print A"\t"B;system("");C=B+1}}' | |
# 2進数encode | |
xxd -b -c1 | cut -d' ' -f2 | tr -d '\n' | |
xxd -ps | tr -d '\n' | tr 'a-z' 'A-Z' | sed 's/^/obase=2;ibase=16;/' | bc | tr -d '\' | tr -d '\n' | |
# 2進数decode | |
sed 's/^/obase=16;ibase=2;/' | bc | xxd -p -r | nkf | |
echo こんにちは \ | |
| xxd -ps | { tr -d '\r\n'; echo;} | tr 'a-f' 'A-F' | sed 's/^/obase=10;ibase=16;/' | bc | { tr -d '\\\r\n'; echo;} \ | |
| tee /dev/tty \ | |
| sed 's/^/obase=16;ibase=10;/' | bc | { tr -d '\\\r\n'; echo;} | xxd -p -r | |
# ポンコツ映画 | |
curl -s http://www1.kcn.ne.jp/~pop/spcpm/f02k/king_kong1986.html | nkf | sed '/^<!--/,/^-->/d;s/<[^>]*>//g;s/^ *//' | |
# 無限回廊 | |
curl -s http://www.maroon.dti.ne.jp/knight999/jiken.htm | nkf -w | sed 's/Shift_JIS/UTF-8/' | xmllint --html --encode utf-8 --xpath "/" - 2>/dev/null | gsed -n -E 's@^.*<a href="([0-9a-z]+\.htm)"><font face="MS ゴシック" size="2">([^<]+)</font>.*$@\2\t\1@p' | nl -nln |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment