第64回2の6乗シェル芸勉強会

2023年4月22日に東京でシェル芸勉強会が開催されました。@ryuichiuedaさんが問題作成と解説を行われ、解説のYouTube配信も同時進行されました。シェル芸botのツイートは取りこぼしがあるかもしれません、ご容赦を。 【Youtubeライブ配信録画】https://www.youtube.com/watch?v=3sQBIqiieCc 【リンク集】https://b.ueda.tech/?post=shellgei_64_link 【問題データ】https://github.com/ryuichiueda/ShellGeiData.git 【東京会場アナウンスページ】https://usptomo.doorkeeper.jp/events/155001
1
前へ 1 2 3 ・・ 17 次へ
上田隆一 @ryuichiueda

Q1( @grethlen さんの出題 改) 次のファイルreply.txtは、電子メールの送信日時、送受信者、件名が記録されたデータです。 $ cat reply.txt 2023-02-15 11:23:43 太郎->花子 こんにちは 2023-02-15 21:23:43 太郎->花子 返信無用 2023-02-16 12:35:30 花子->太郎 Re:こんにちは ・・・ #シェル芸

2023-04-22 13:17:19
上田隆一 @ryuichiueda

@grethlen 返信のメールのタイトルが、"Re:"+"もとのメールのタイトル"だと仮定して、「もとのメールの件名」「行きのメールの送受信者」、「帰りのメールの送受信者」、「メールが位置往復した時間」に整形し、時間の短いほうから出力してください。返信のないメールは出力しなくて大丈夫です。 #シェル芸

2023-04-22 13:18:25
上田隆一 @ryuichiueda

@grethlen 一行だけ、例を示します。 ``` こんにちは 太郎->花子 花子->太郎 25.1964 ``` #シェル芸

2023-04-22 13:18:43
闇ときどき豚 @yami_buta

cat ShellGeiData/vol.64/reply.txt|awk 'substr($4,1,3)!="Re:"{a[$4]=$0}substr($4,1,3)=="Re:"{b[substr($4,4,length($4))]=$0}END{for(k in a){print(a[k],b[k])}}'|textimg -s #シェル芸

2023-04-22 13:24:21
たいちょー @xztaityozx_001

cat ShellGeiData/vol.64/reply.txt | sed 's/ /T/' | teip -f1 -- date -f- +%s | sed 's/->/ /' | awk '{time[$NF]=$1; f[$NF]=$2; t[$NF]=$3} END {for(k in f) if(k !~ /^Re:/ && time["Re:"k]!=0) print k, f[k]"->"t[k]"->", t[k]"->"f[k], (time["Re:"k]-time[k])/60/60}' #シェル芸

2023-04-22 13:24:47
闇ときどき豚 @yami_buta

用事あるので3時くらいまで抜けます #シェル芸

2023-04-22 13:25:40
シェル芸bot(停止しました) @minyoruminyon

毎々お世話になります 太郎->花子-> 花子->太郎 81.9994 こんにちは 太郎->花子-> 花子->太郎 25.1964 首記の件 花子->太郎-> 太郎->花子 22.8919 げんき? 太郎->花子-> 花子->太郎 52.0769 やったー 太郎->花子-> 花子->太郎 3.18278 twitter.com/xztaityozx_001…

2023-04-22 13:25:45
ぷる1号@移住済 @butackle66

こちら配信は順調に見えています。どうぞトイレに行ってもらって大丈夫です。 #シェル芸

2023-04-22 13:25:50
eban @eban

方向まではできてない。 cat *a/*64/reply.txt | sed -r 's/$/"/;s/[^ ]* [^ ]*/date -d"&" +"%s.%N/e' | awk -F' (Re:)?' '{a[$3]+=a[$3]?$1:-$1}END{for(i in a)if(a[i]>0)print a[i]/3600,i}' #シェル芸

2023-04-22 13:26:55
やべえ @yabeenico

paste <(cut -d' ' -f1,2 S*/*64/reply.txt |tr ' ' T| xargs -n1 date +%s -d) <(cut -d' ' -f3,4 S*/*64/reply.txt|sed s/Re://) | awk -F\ [Re:]* '{if(!a[$3]){a[$3]=$1}else{print ($1-a[$3])/60/60/24, $2}}' #シェル芸

2023-04-22 13:27:24
シェル芸bot(停止しました) @minyoruminyon

0.416667 返信無用 1.04985 こんにちは 3.86473 げんき? 3.86753 毎々お世話になります 5.90242 やったー 5.95831 首記の件 6.03461 げんき? 6.03503 やったー 6.91214 首記の件 7.28418 毎々お世話になります twitter.com/yabeenico/stat…

2023-04-22 13:27:45
シェル芸bot(停止しました) @minyoruminyon

81.9994 毎々お世話になります 25.1964 こんにちは 22.8919 首記の件 52.0769 げんき? 3.18278 やったー twitter.com/eban/status/16…

2023-04-22 13:27:46
Hisatoshi Onishi @hisa0211

時間を差分にする以外まではできているのですが…。 #シェル芸

2023-04-22 13:28:02
たいちょー @xztaityozx_001

cat ShellGeiData/vol.64/reply.txt | sed 's/ /T/' | teip -f1 -- date -f- +%s | awk '{time[$NF]=$1; ft[$NF]=$2} END {for(k in time) if(k !~ /^Re:/ && time["Re:"k]!=0) print k, ft[k], ft["Re:"k], (time["Re:"k]-time[k])/60/60}' #シェル芸

2023-04-22 13:29:11
シェル芸bot(停止しました) @minyoruminyon

毎々お世話になります 太郎->花子 花子->太郎 81.9994 こんにちは 太郎->花子 花子->太郎 25.1964 首記の件 花子->太郎 太郎->花子 22.8919 げんき? 太郎->花子 花子->太郎 52.0769 やったー 太郎->花子 花子->太郎 3.18278 twitter.com/xztaityozx_001…

2023-04-22 13:29:44
Hisatoshi Onishi @hisa0211

or i in $(grep -v "Re:" ShellGeiData/vol.64/reply.txt | cut -d\ -f4);do grep $i ShellGeiData/vol.64/reply.txt|sed -e "N;s/\n/ /g"|grep "Re:"|awk '{print $4 $7 $3 $1 $2 $5 $6}';done #シェル芸 #Vol64Q1やりかけ

2023-04-22 13:30:36
やべえ @yabeenico

paste <(cut -d' ' -f1,2 S*/*64/r* |tr ' ' T| xargs -n1 date +%s -d) <(cut -d' ' -f3,4 S*/*64/r* |sed s/Re://) | awk -F\ [Re:]* '{if(!a[$3]){a[$3]=$1}else{print ($1-a[$3])/60/60, $2}}' #シェル芸 Q1

2023-04-22 13:31:01
Hisatoshi Onishi @hisa0211

実はこれ… teip 案件なのかな…? #シェル芸

2023-04-22 13:32:32
taka@はたらくフレンズ @amanoese

cat *a/*64/reply.txt|rev|sort|rev|sed '$d'|xargs -L2|awk -F '[ :-]' '{print $0,($12*72000+$13*3600+$14*60+$15)-($3*72000+$4*3600+$5*60+$6)}'|awk '$0=$4" "$3" "$NF'|sort -k3,3 -n #シェル芸

2023-04-22 13:32:42
やべえ @yabeenico

paste <(cut -d' ' -f1,2 S*/*64/r* |tr ' ' T| xargs -n1 date +%s -d) <(cut -d' ' -f3,4 S*/*64/r* |sed s/Re://) | awk -F\ [Re:]* '{if(!a[$3]){a[$3]=$1}else{print ($1-a[$3])/60/60, $2}}' Q1 #シェル芸

2023-04-22 13:32:49
シェル芸bot(停止しました) @minyoruminyon

10 返信無用 25.1964 こんにちは 92.7536 げんき? 92.8208 毎々お世話になります 141.658 やったー 142.999 首記の件 144.831 げんき? 144.841 やったー 165.891 首記の件 174.82 毎々お世話になります twitter.com/yabeenico/stat…

2023-04-22 13:33:44
前へ 1 2 3 ・・ 17 次へ