プロジェクト

全般

プロフィール

ニュース

A painter and a black cat: ASCIIコードだけどEBCDICコードの順にソートしたい(シェル芸)

さんが5年以上前に追加

この記事はシェル芸 Advent Calendar 2019の13日目の記事です。

カレンダーに空きがあって、せっかくなので、ちょっと前に書いたブログに加筆して再公開します

それでですね、標題の話を聞いた。よくある話らしい
つまり、今までメインフレームでソート処理してたんだけど、オープン化したら文字コードがASCIIに変わってソートした結果の並び順が変わってしまった。前と同じにしたい、と。。

ASCIIコードとEBCDICコードは同じアルファベットでも割り当てられている値が異なるので、当然そのままソートすると結果が異なる

文字コード

ASCIIコード

||0|1|2|3|4|5|6|7|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|0|NUL|DLE|SP|0|@|P|`|p
|1|SOH|DC1|!|1|A|Q|a|q
|2|STX|DC2|"|2|B|R|b|r
|3|ETX|DC3|#|3|C|S|c|s
|4|EOT|DC4|$|4|D|T|d|t
|5|ENQ|NAC|%|5|E|U|e|u
|6|ACK|SYN|&|6|F|V|f|v
|7|BEL|ETB|'|7|G|W|g|w
|8|BS|CAN|(|8|H|X|h|x
|9|HT|EM|)|9|I|Y|i|y
|A|LF/NL|SUB|*|:|J|Z|j|z
|B|VT|ESC|+|;|K|[|k|{
|C|FF|FS|,|<|L|\ (¥ )|l||
|D|CR|GS|-|=|M|]|m|}
|E|SO|RS|.|>|N|^|n|‾
|F|SI|US|/|?|O|_|o|DEL

列が上位3ビット、行が下位4ビットを表す
例えば、"a"だったら0x61
ASCIIコードは7bitで文字を表現している

EBCDICコード(英小文字を拡張したケース)

0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL DLE DS (予約) SP & - { } |0
1 SOH DC1 SOS (予約) / a j ~ A J 1
2 STX DC2 FS SYN b k s B K S 2
3 ETX TM WUS IR c l t C L T 3
4 SEL RES/ENP BYP/INP PP d m u D M U 4
5 HT NL LF TRN e n v E N V 5
6 RNL BS ETB NBS f o w F O W 6
7 DEL POC ESC EOT g p x G P X 7
8 GE CAN SA SBS h q y H Q Y 8
9 SPS EM SFE IT i r z I R Z 9
A RPT UBS SM/SW RFF ¢ ! ¦ :
B VT CU1 CSP CU3 . $ , #
C FF IFS MFA DC4 < * % @
D CR IGS ENQ NAK ( ) _ '
E SO/LS1 IRS ACK (予約) + ; > =
F SI/LS0 IUS/ITB BEL SUB ¬ ?

列が上位4ビット、行が下位4ビットを表す
例えば、"a"だったら0x81

という訳で数字、英小文字、英大文字の出現順番が違うのでソートしても同じ結果にならないんですね

テストデータ

$ cat testdata.txt
AAA1001
ABA0100
BBB0010
XXX0201
01C0020
02D0002
90E3000

普通にソート

$ cat testdata.txt |sort
01C0020
02D0002
90E3000
AAA1001
ABA0100
BBB0010
XXX0201

アルファベットから始まるデータが後ろに来ている
EBCDICのコード順でソートした場合を想定すると英大文字、英小文字、数字の順でソートされるはず

EBCDIC順にソートシェル芸

こんな感じかな

$ cat testdata.txt|tr a-zA-Z0-9 0-9A-Za-z|sort|tr 0-9A-Za-z a-zA-Z0-9
AAA1001
ABA0100
BBB0010
XXX0201
01C0020
02D0002
90E3000

数字、英小文字、英大文字をEBCDICの順番に文字を入れ替えた上でソートして、ソート後にもとに戻す

厳密には、記号の並び順までtrで対応付けなければいけないと思うけれど、こんな感じでいけるのでは

trめっちゃ便利やなぁ

関連情報

漢数字ソートを応用してもできる気がする

上田ブログ 本日観測したシェル芸その2(漢数字のソート)
https://b.ueda.tech/?post=10610

俺的備忘録 〜なんかいろいろ〜 ターミナル上で漢数字ソートを行う
https://orebibou.com/2017/10/%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB%E4%B8%8A%E3%81%A7%E6%BC%A2%E6%95%B0%E5%AD%97%E3%82%BD%E3%83%BC%E3%83%88%E3%82%92%E8%A1%8C%E3%81%86/

A painter and a black cat: AVTOKY2019に登壇して、TMCIT×大和セキュリティ MAIR忍者チャレンジで優勝した

さんが5年以上前に追加

AVTOKYO2019

AVTOKYO は コンピュータセキュリティについて真摯に語り合うコミュニティベースの日本のカンファレンスです
合言葉は「no drink, no hack」
「異体字セレクタ難読化シェル芸」というタイトルで登壇しました

発表前と感想

発表資料

公開されました。こちらです。

様子

雰囲気を実況して頂いた方のツイートでご紹介します

no drink, no hack!

いつもの

ステガノグラフィの説明

ワタナベエンコードめっちゃウケるんですよね!ワタナベ難読化シェル芸の作成者の隊長さんには、このスライドのレビューをしてもらいました。助かりました。ありがとうございます。

Unicodeの異体字セレクタは、異体字が存在しない文字にもくっつけることができます
こっそり情報を仕込めば、違和感がなく気づかれることはないでしょう

メリデメ

ユースケース(本音を隠せるw)

ツールは ivsteg にあります。

こんなん絶対美味いやろ・・・(美味しかった)

スピーカー特典

頂きました。幸せすぎた。

20191103_avtokyo.jpg

サコッシュ、Tシャツ、飲み物が温くならないやつ、Lチカバッチ(最高)

TMCIT × 大和セキュリティ MAIR忍者チャレンジ

マルウェアの解析とインシデントレスポンスを競技する会(略してMAIR)

20191104_yamatosec1.jpg

みむらさん、ぴんくさん、ほよたかさん、λさん、と会場の都立産業技術高等専門学校の学生さん(以上、順不同)、という夢のドリームチームみたいになった末席に加えてもらいました。

強かった。ヤバかった。このつよつよチームが徹夜する勢いでガチで解析してすごいことになってた(ワイは口を開けて見てた)

完走した感想

口開けて見てたんですが、めっっっっっちゃ勉強になったのは、各種ツールの使い方も、もちろんそうなんですが、

  • 作業環境の整備(一瞬で済んでた)
  • コミュニケーションツール → slackで専用チャネル作ったよ!
  • IOC → HackMDでみんなで共有しよう!
  • 発表資料作成 → Poweroint用意したよ!オンラインでみんなで編集しよう!

ここまで、秒、そしてですね

  • 意思疎通のスピードの速さ
  • 重複しない役割分担

これをみむらさんが上手く捌いてくれて、かつ、つよつよメンバは私や学生さんにちゃんと説明してくれるんですよ・・・神か

このやりとりですよ。チームビルディング力が凄かった。

優勝特典

Sランク上忍に認定された!ワザマエ!

賞状と大和セキュリティ勉強会の無料パスを頂いた。嬉しすぎた。

20191104_yamatosec2.jpg

A painter and a black cat: jus共催 第44回シェル芸7周年で(中略)勉強会(無保証)に参加しました

さんが5年以上前に追加

jus共催 第44回シェル芸7周年で変態化が進みすぎなので実用的な問題しか出さないぞと宣言しておく勉強会(無保証)

実用的です!詳しくはリンク先を参照!
午前中はぷるさんによるJavaScriptの解説でした!
勉強になりました。

jus共催 第44回シェル芸勉強会リンク集 | 上田ブログ

Sun Oct 27 16:09:24 JST 2019 (modified: Tue Oct 29 09:02:12 JST 2019) views: 149 keywords: プログラミング 勉強会 シェル芸 シェル芸勉強会 報告  2019年10月27日土曜日、さくらインターネット様のセミナールームにて、 日本UNIXユーザ会 さんとシェル芸勉強会を共催いたしました。また、福岡、大阪、長崎でサテライト会場を設けていただきました。毎度略儀ながら、ご協力いただいた皆様ありがとうございました。横田さん、お疲れのところありがとうございました。 色塗ってました(無になった)#シェル芸 jus共催 第44回シェル芸7周年で変態化が進みすぎなので実用的な問題しか出さないぞと宣言しておく勉強会(無保証) - Togetter https://t.co/GX4xdihETe @togetter_jp さんから- 上田 隆一 (@ryuichiueda) October 27 2019 #シェル芸 #福岡 参加者の皆様、毎回問題作成と会場ワンオペ?の上田さん、お疲れ様でした。「第44回シェル芸勉強会:福岡サテライト」レポート - 日々之迷歩 https://t.co/UV5D7eLkYL #はてなブログ - ぱぴろんちゃん? (@papiron) October 26 2019 はてなブログに投稿しました第44回シェル芸勉強会 大阪サテライト レポート

知見

abcdefgをa b c d e f gにする方法

$ echo abcdefg | sed 's;.;& ;g'
a b c d e f g
$ echo abcdefg | grep -o .|tr '\n' ' '
a b c d e f g 

難読化シェル芸シリーズが草

他にも面白いLT目白押しなので、ぜひ冒頭のリンク先


ワイ、特定の日、特定の時刻で動作が変わるコマンドについて

A painter and a black cat: 町工場を見学しよう!印刷所見学ツアー(しまや出版)で見学させて頂きました

さんが5年以上前に追加

町工場を見学しよう!印刷所見学ツアー

技術書同人誌博覧会の運営メンバの方々で企画してくださったようです。
企画・引率してくださったariakiさんありがとうございました。

書籍の印刷について

見学内容をご紹介するにあたって、以下の知識を覚えておくとより楽しめます。
^書籍執筆勢には釈迦に説法な気もします。

方法 特徴
オフセット印刷 版と呼ばれる金属板を使って版元を作る。高品質、大量生産に向いている。
オンデマンド印刷 入稿データからそのまま印刷。ご家庭のプリンタが凄くなった物だと思うと理解しやすい。

コストの関係

少量生産だとオンデマンド印刷の方がコスト的に有利です。また、版を作る必要のあるオフセット印刷と比較して早くできます。
大量生産する場合は、オフセット印刷が有利になります。

この関係は、150部~200部が分岐点になるそうです。

そんなわけで、以下の関係になります。

  • 少量生産(150部~200部以下)
  • オンデマンド印刷
  • 大量生産(150部~200部以上)
  • オフセット印刷

見学!

王子

王子です。

20190928_a1.jpg
20190928_a2.jpg20190928_a3.jpg

社員!

かわ。ほんとにね、思ったんだけどエンジニアの事務所にこそ、お招きした方がいいと思ったんですよ。
こういう子がいると声を荒げる人が減る気がするんですよねぇ。

20190928_b1.jpg20190928_b2.jpg20190928_b3.jpg

ちになみにトラの子は、先日の千葉の台風災害でヨロヨロフラフラしてた所を保護した子だそうです。
でも、とても大人しくて、実家のような安心感でくつろいでたw

オンデマンド印刷機

C(シアン)M(マゼンタ)Y(イエロー)K(ブラック)でフルカラー印刷できるぞ!白インクも載せられるそう
ハイスペックモデル。お値段なんと!マンション買える位の値段になるらしい。

20190928_c1.jpg20190928_c2.jpg

オフセット印刷の版

このアルミ板が版です!
製本するサイズによりますが、これ1枚で一度に何ページか作れて、作ったやつは後から裁断するという方式になります。

20190928_d1.jpg

オフセット印刷機

この1個に1枚の版と1色のインクがのるぞ!

20190928_e1.jpg20190928_e2.jpg20190928_e3.jpg

裁断機

ズバッと。下の穴から空気が出てくるので重い紙でも移動が楽ちんだ!

20190928_f1.jpg

丁合機

各ページを一枚ずつとって、一冊にするマシーン
すごいのは、丁合されたものはページの幅を変えてあって、1冊1冊が迷うことなく手に取れるという。ギザギザになってるのがわかります。

20190928_g1.jpg20190928_g2.jpg

最後にこれ

表紙をくっつけて、上下左右の不要な部分をズバッとやって完成

20190928_h1.jpg20190928_h2.jpg20190928_h3.jpg20190928_h4.jpg

頂いてしまった

ありがとうございますありがとうございます。
ariakiさんからも技書博のグッズを頂いてしまいました。

20190928_i1.jpg

しまや出版

自分が薄い本を作る時はお願いしたい…!というか、お願いしたくなった。お願いします。

同人誌印刷会社なら・初めての人"にも"優しい同人誌印刷所「しまや出版」

同人誌印刷 ・自費出版印刷なら同人誌専門の印刷会社へ!初めての方、同人の味方「しまや出版」は、東京の印刷会社です。紙原稿からデータ原稿、小部数から大部数まで、イラストから小説まで対応可能です。全国からご入稿いただいておりますので、初めての方でも安心してください!同人誌を創って43年、しまやは質の高さも自慢です。小説やオンデマンドも是非!

A painter and a black cat: 技術書典7に行ってキマシタワー

さんが5年以上前に追加

どんどん規模が大きくなる技術書の同人誌販売イベント
はい、もぅ規模が大きくなるにつれて欲しい本が増えるめっちゃ楽しい

買ったもの

20190922_1.jpg20190922_2.jpg20190922_3.jpg

自著は売り切れてた

amazonで売ってますので、もし興味がございましたら

打ち上げに混ぜて頂いた

楽しかったですお疲れさまでした
モア充になれたひと時でした

^モア充ほんま草

20190922_4.jpg20190922_5.jpg20190922_6.jpg20190922_7.jpg

A painter and a black cat: bash ゼロデイ脆弱性(だと思ってた)を知った後の心の機微

さんが5年以上前に追加

これは、ひょんなことから、bash ゼロデイ脆弱性(だと思ってた)を知ってしまった私の心の動揺に関する記録

長いです

2019/4/6 yamayaさんオーパーツ投下

yamaya(@yamaya)さんが驚愕のオーパーツを投下する。これは、現在の人類では生み出せない未知のテクノロジーが詰まっていた。
ワイ「読めないすごいwww」ということだけは瞬時にわかり、これは解読するには本腰を入れないといけないと腹を括り、自分のあとで解読するメモに追加した。

この時は2019/4/14に開催される技術書典6に関わる準備などで忙殺されており、すぐ解読したいのをこらえた(この時は体が4~5体必要だと思っていた)

なぜかフィボナッチ数列が出力される

なぜかシェルピンスキーのギャスケットが出力される

ちなみに私はシェル芸ピンスキーのギャスケットの方をまだ解読していない。

2019/4/6 ぐれさんの解読

ぐれさん(@grethlen)解読記事を公開。バスる。
とてもわかりやすく解説していらっしゃるので、興味のある方は是非。私もこれで構造については理解できた。

ここで未知のテクノロジーが紐解かれるが、この時、あんなことになるとは思いもしなかったのであった。。(フラグ)

yamayaさんの難読化シェル芸(フィボナッチ数列) 解説
https://gist.github.com/greymd/455a13bb6f757c5ccd00bfb155d525e2

これは本当に心からそう思っており、仮に私が自由な時間を10年ぐらい貰ったとしても、同じものを作れる気がしない。この境地に辿り着けるイメージが全くわかない(驚嘆)

2019/4/12 脆弱性(だと思ってた)発覚

ぐれさんから、yamayaさんがbashの脆弱性を見つけたので、例のオーパーツには触れないよう(解説記事などを公開しなよう)とご連絡を頂く。
私は、後で解読すると公言していたので、気を使って連絡して頂いたようだ。

あのオーパーツに触れると脆弱性の秘密が発見されるリスクがあるというのだ(ΩΩΩ<な、なんだってー!? )
パンドラの箱に触れてはいけない…

この謎を解明するべく我々スタッフ一同はアマゾンの奥地へ飛ぶこともなく、
なるほど、了解しました。自重しますと冷静に返答することもできず、溢れ出る興奮を隠しきれずハイテンションで「うっほおおおおお自重しますwwwwwww」となってしまった。大丈夫かコイツという一抹の不安を与えてしまった事は否めない。

ここは強めに言っておきますが、普段「うんこうんこ」と言っているシェル芸人でも、こういうことはちゃんと守る。ちゃんと守りますうんこ。

あとすいません、不謹慎に興奮してしまいました。bashのメンテナさんはリスペクトしています。

ちなみに、POCは以下である。

POC

整数型を宣言してる変数に外部から文字列を食わせることで任意の算術式を実行させられるというもの。任意の算術式なので、もちろんコマンドも注入できる。

$ echo '_[$(whoami >&2)]' | bash -c 'declare -i x; read x'

これを最初に見た私の気持ちは「わからんわwwwwwwwww」であった。
どうしてこれで、コマンドが実行されるのかわからなすぎて笑った。

あとやべーなやっぱり。バックエンドでbash動いているシステムはけっこう危険。

脆弱性に名前つかないかな

このあと、興奮冷めやらず、CVE番号振られるだろうな~、あ、Shellshockみたいに名前つかないかな~。UNKOにならないかな~

UNdocument Killing Obfuscated ──UNKO

こんな感じだな、よし満足したwとやっていた。頭おかしい。

セキュリティ好きなので、自らの手でCVE番号を取得するのが夢だったりします。

2019/4/14 技術書典6

とまぁ、この脆弱性の連絡を頂いたのが技術書典6のなんと2日前である。こういう大イベントは意外と重なりがち。
技術書典はもぅ頒布する側としての参加は初めてでもあったので、すごく楽しかった。

と、同時にbashのゼロデイ脆弱性(だと思ってた)を知っているという甘美な秘密(すいません)を抱えながら参加することになった。いい経験だった。

脆弱性が家にあると、ちょっと嫌なことがあっても「まあ家に帰れば脆弱性あるしな」ってなるし仕事でむかつく人に会っても「そんな口きいていいのか?私は自宅で脆弱性とよろしくやってる身だぞ」ってなれる。戦闘力を求められる現代社会において脆弱性と同棲することは有効

ただし、この脆弱性について私は1ミリも貢献していない。

あ、よかったらポチっとお願いします。

2019/9/2 ご回答があった

yamayaさんが、以下を投稿される。大変にわかり味がある。

どさにっき

使ってる人がいちばん多いだろうからタイトルでは bash としてるけど、ここで取り上げることは zsh および ksh 一族(本家 ksh、pdksh、mksh)にも該当する。ash、dash などでは該当しない。...

結論は、yamayaさんの投稿から引用させて頂くと、以下であった。

「スクリプトを書く人が対処すべき問題であってシェルそのものの問題ではない」との回答

私個人としては、bashに対して恨みはないどころか毎日使わせて頂いて本当にありがとうございます。
なので、仕様であれば仕様であると、とりあえず受け入れることにした。

ここらへん各言語に裁量があって、開発効率とのトレードオフになっていると理解している。
例えば[PHP](https://ja.wikipedia.org/wiki/PHP_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)は注意してコーディングしないと脆弱性を生みやすい(偏見かも)んだけど、[PHP](https://ja.wikipedia.org/wiki/PHP_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)がなければ[WordPress](https://ja.wikipedia.org/wiki/WordPress)は生まれなかったと開発者の方が述べている。

そして、いま書いているこの日記のようなものを公開するタイミングを考え出す。変に煽ってないだろうか、コードを1行追加するのだって簡単じゃない場合が沢山あるのを知っている。業務のバッチ処理に影響がでるかもしれない、と、若干気を揉んで、しかし最大のリスクは、この挙動を知らないままでいることだと思い、早々に公開することを決めた。(ままま、この記事どれだけの人が見るんだというのはあるけれど)

あと、ぐれさん解説してくれるかもしれないので、これも期待

その後

  • 4月以降、本当に難読化シェル芸が激増した
  • 変態が情報発信すると変態(褒め言葉です)が集まるという事がわかった
  • まれに戦闘力54万の方が現れる
  • それによりシンギュラリティが起きて技術が進歩する
  • 副産物で脆弱性が発見されることがるというのがわかった(シェル芸botは有志で随時脆弱性対応されていて、大変に強固になっています)

A painter and a black cat: jus共催 第43回大暴れシェル芸勉強会 に参加しました

さんが5年以上前に追加

第43回大暴れシェル芸勉強会

アツかった(いろんな意味で)

jus共催 第43回シェル芸勉強会リンク集 | 上田ブログ

2019年8月10日土曜日、さくらインターネット様のセミナールームにて、 日本UNIXユーザ会 さんとシェル芸勉強会を共催いたしました。また、松江、大阪、長崎でサテライト会場を設けていただきました。毎度略儀ながら、ご協力いただいた皆様ありがとうございました。  個人的には、大阪サテライトの呪文詠唱シェル芸が強烈すぎました。 昨日の呪文詠唱シェル芸の様子 #やばい #シェル芸 https://t.co/2kvwPfrmue - 上田 隆一 (@ryuichiueda) August 11 2019 「第43回大暴れシェル芸勉強会」をトゥギャりました。 https://t.co/QjN37xbaF0 - 上田 隆一 (@ryuichiueda) August 10 2019 はてなブログに投稿しました第43回シェル芸勉強会 大阪サテライト レポート https://t.co/t9iusynaSR #はてなブログ - so (@3socha) August

知見

同じ文字が使われるパターンを検出する

難しいgrep芸を使えば可能

$ seq 4321 | grep -Ev '(.).*\1' 

awk 1文字ずつで処理する

デミリタに空文字を設定
-F "" (Fと""の間はスペースで空ける)を使うことで1文字単位で処理できるようになる

$ echo abcdefg|awk -F "" '{print $0,$1,$3,$5}'
abcdefg a c e

bashcms本は面白いから買うべき

フルスクラッチから1日でCMSを作る シェルスクリプト高速開発手法入門 改訂2版 単行本 – 2019/6/28
https://amzn.to/31tfSzY

Ryotoさんのbash製Webサーバに載せればオールbash製Webシステムが完成しますね…!

https://github.com/ryotosaito/shttpd

bashでwebサーバを作っている
https://docs.google.com/presentation/d/1AHY_mPz07DcaERwygWuj3hAPvzlgcjJ4KC102wK5QYg/edit?usp=sharing

LT

今回は濃かった。濃いLT揃いでした。

VUIでシェル芸が実行される歴史的瞬間

bashでwebサーバを作っている

bashでwebサーバを 作っている Ryoto (@systemctl_ryoto)

ANSIエスケープシーケンスで遊ぶ - /home/jiro4989

発表者 次郎 目次 自己紹介 ANSIエスケープシーケンスとは ANSI escで遊ぶ textimgと実装 まとめ 自己紹介 発表者 次郎 @jiro_saburomaru https://twitter.com/jiro_saburomaru 社会人2年目のサーバサイドエンジニア GoとNimでCLIツールを作ったりするのが趣味 2019年4月に前職を退職 2019年7月に転職先が決まりました


シェル芸川柳。意外に難しい。みんなも詠もう!

A painter and a black cat: jus共催 第42回BLACK HOLEシェル芸勉強会 に参加しました

さんがほぼ6年前に追加

jus共催 第42回BLACK HOLEシェル芸勉強会

今回も激しい

jus共催 第42回シェル芸勉強会リンク集 | 上田ブログ

null

【問題と解答】jus共催 第42回BLACK HOLEシェル芸勉強会 | 上田ブログ

null

jus共催 第42回BLACK HOLEシェル芸勉強会

2019年6月15日 さくらインターネットさんのセミナールーム + 松江、長崎、大阪のサテライト会場にて問題と解答:

なぜBLACK HOLEなのか

記念すべき第42回開催にちなんで、BLACK HOLEと命名したとのこと!

アトランチスの謎というファミコンのゲームがありました。懐かしい(?)ですね。スーパマリオで言う所の土管に入ると特定のステージにワープする事ができるのですが、42面がトラウマ級の鬼畜仕様で、残機を全部持って行かれる初見殺しステージを元に命名したとw
42面には、BLACK HOLEと書いてあります

生命、宇宙、そして万物についての究極の疑問の答えではないそうです。人によって"42"でいろいろ連想することが違いますね。

知見

awkに渡したコマンドを逐次再実行させるには

awk内でコマンドの実行結果を渡せますが、closeしておかないと初回実行の出力結果が使い回されます。

これだと、matsuyaは同じメニューしか出力してくれません。

$ seq 2 20 | factor |
awk 'NF==2{"matsuya" | getline a;print $1,a}NF!=2{print $1}' |
sed 's/:$//'

こうしてmatsuyaをcloseしないと再実行されないです

$ seq 2 20 | factor |
awk 'NF==2{"matsuya" | getline a;print $1,a;close("matsuya")}NF!=2{print $1}' |
sed 's/:$//'

textimgコマンド

シェル芸botで毎分使われているターミナルのスクリーンショットを撮ってくれるコマンド

次郎さん作成
https://github.com/jiro4989/textimg

上田さん改定本買うしかない

フルスクラッチから1日でCMSを作る シェルスクリプト高速開発手法入門 改訂2版 単行本 – 2019/6/28
https://amzn.to/31tfSzY

シェルスクリプトでCMSを作ってるすげーやつ

これはビックリ情報なんですが、上田ブログはなんとシェルスクリプトで動いていると…!
シェルスクリプトなのに速えぇー

ワイ昔cgiをシェルスクリプトで書いてたことがあったのですが、処理速度が課題でした。まったくそれを感じさせない速度で動いています。すごい。

LT

難daコレwww

なんだこれwww

難daコレ.pdf

難daコレ.pdf

記号で書く難読化シェル芸の系譜と、やべーやつの解析

ワイがLTしたやつ

(21-30/155)

他の形式にエクスポート: Atom