第62回シェル芸勉強会 大阪サテライト レポート
12/3(土) に開催された、第62回シェル芸勉強会 大阪サテライト会場の様子をレポートします。
案内
大阪サテライトの様子
今日はシェル芸勉強会に参加しています。2ヶ月間に一回TLにシェル芸をつぶやく日です。
— taka@SIではたらくフレンズ (@amanoese) 2022年12月3日
シェル芸に興味ある人はyoutubeのライブ動画見ながら問題の回答をついーとするだけなので、参加してみてね✨✨✨https://t.co/jt0xsKanQS
前々回は京都でサテライト開催しましたが、大阪でのサテライトは2020年2月に開催された第46回以来、3年弱ぶりの開催となりました。 今回大阪サテライトの参加者は3名で、いずれも複数回参加されている方だったため、YouTube の配信を見て雑談しながら各々のペースで問題を解いていました。 最後の6問目以外は呻き声が上がることもなく、ちょいうど良い手応えだったかなと思います。
今回個人的に勉強になったなーと思ったのが、問題2の回答例で xargs -n 1 bash -c 'echo $0'
のように xargs から bash に渡された引数を位置パラメータとして参照しているところでした。
Man page of BASH より:
-c string
-c オプションが指定されると、コマンドが string から読み込まれます。 string の後に引き数があれば、これらは 位置パラメータ (positional parameter: $0 から始まるパラメータ) に代入されます。
パイプを通して受け取った文字列を xargs
で後続のコマンドに渡したいときは -I
オプションを使えば良いやとずっと考えていたため、こんなやり方もあるんだなあと新鮮でした。
-I replace-str
initial-arguments 中で文字列 replace-str が現れるすべての箇所を、標準入力から読み込んだ名前で置き換えます。 なお、標準入力中にクォートされていない空白があっても、 それは入力項目の区切りにはなりません。 区切り文字は改行文字だけになります。 -x と -L 1 の指定を暗に含みます。
注意して使い分ければ、今までちょっと困っていたケースのいくつかが解決できそうな気がします。
LT
2件の LT 発表をしていただきました。
シェル芸 LT 始めます #シェル芸 #大阪https://t.co/TILv58o7y4
— so (@3socha) 2022年12月3日
「デーモンスレイヤー ワタナベ」 - たいちょーさん github.com
「魔術式シェル芸」 - takaさん speakerdeck.com
YouTube での録画には入っていませんが、この後 Discord での質疑応答も行われていました。 まるでゼミ発表のよう。
このあと、参加者で近くの居酒屋に行って 2 次会をしていたのですが、各地の渡辺ゆかりの場所やルーン文字研究の話が聞けて、とても興味深かったです。 紹介された本をちょっと読みたくなってしまいました(また積み本が増える)。
おわり
今回も楽しく、とても学びのある勉強会でした。 会場に集まれると、問題の解き方のアプローチを隣の人に相談してみたり、一緒に頭を抱えたりできるのが良いですね。
シェル芸勉強会は今回で10周年だそうです。 いつも参加・運営していただいているみなさま、ありがとうございます。 参加者と一緒に、毎回少しずつ学びを増やしていけたら嬉しいです。