Qiita의 언어별 기사수・팔로워수 랭킹을 쉘예술로 만든다
생각해.
결과
ランク,言語,記事数,フォロワー数
head
한 것 기사수 Top10 2
articleRank10.csv
ランク,言語,記事数,フォロワー数
001,Python,38538,71962
002,JavaScript,32653,72158
003,Ruby,26104,40486
004,PHP,19102,44786
005,Java,14326,47284
006,CSS,7329,46345
007,Cpp,7123,30398
008,HTML,6518,55321
009,Objective-C,4030,19990
010,Scala,3094,12501
독자 수 Top10 3
followRank10.csv
ランク,言語,記事数,フォロワー数
001,JavaScript,32653,72158
002,Python,38538,71962
003,HTML,6518,55321
004,Java,14326,47284
005,CSS,7329,46345
006,PHP,19102,44786
007,Ruby,26104,40486
008,Cpp,7123,30398
009,C#,3042,26228
010,Objective-C,4030,19990
수단
두 부분입니다.
CSV 작성 파트
qiitaLangCSV$ curl -s "https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml" |
egrep -o '^[^\ \#][^:]+' | sed '1d;y/+/p/'| while read i
do echo "$i,$(
curl -s "https://qiita.com/tags/${i,,}" |
tr -d \\n | grep -oPm1 '(?<=<span class="tsi-Stats_count">)\d+'
)" | tr \\n ,;echo
done | sed 's/\([0-9]\),$/\1/g' > result
랭킹 작성 파트
$ curl -s "https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml" |
egrep -o '^[^\ \#][^:]+' | sed '1d;y/+/p/'| while read i
do echo "$i,$(
curl -s "https://qiita.com/tags/${i,,}" |
tr -d \\n | grep -oPm1 '(?<=<span class="tsi-Stats_count">)\d+'
)" | tr \\n ,;echo
done | sed 's/\([0-9]\),$/\1/g' > result
makeRank
$ head=ランク,言語,記事数,フォロワー数
$ (echo $head;sort -t, -rnk2 -rnk3 result | nl -nrz -s, -w3 | head) > articleRank10.csv
$ (echo $head;sort -t, -rnk3 -rnk2 result | nl -nrz -s, -w3 | head) > followRank10.csv
그건 그렇고
Terminal
$ cat result | tee >(wc -l) >(grep -c ",,") 1>/dev/null | nl -nln
1 218
2 545
$ cat result | tee >(wc -l) >(grep -c ",,") 1>/dev/null |
tr \\n / | sed 's/^/scale=1;/;s/.$/*100\n/' | bc
40.0
Terminal
$ grep ",0,0" result
CSON,0,0
CWeb,0,0
Cool,0,0
Eiffel,0,0
Fancy,0,0
Harbour,0,0
Jison,0,0
Jolie,0,0
Nit,0,0
Nu,0,0
Raku,0,0
STON,0,0
Tea,0,0
UrWeb,0,0
XC,0,0
$ grep -c ",0,0" result
15
Terminal
$ grep -P '(?<!,0),0$' result | head
ABNF,1,0
APL,27,0
ASN.1,5,0
ApacheConf,1,0
Batchfile,2,0
Befunge,1,0
CLIPS,2,0
COLLADA,5,0
Chapel,2,0
Cycript,2,0
$ grep -cP '(?<!,0),0$' result
64
Terminal
$ grep -P ',0,[^0]+$' result
$ grep -cP ',0,[^0]+$' result
0
Terminal
$ grep -vP ',0?(,|$)' result | head
4D,5,3
ABAP,46,34
ANTLR,12,7
ASP,43,14
ATS,35,2
ActionScript,249,247
Ada,27,10
Agda,29,18
Alloy,59,26
AngelScript,5,1
$ grep -vPc ',0?(,|$)' result
248
htps : // 등 w. Giteubuse r 콘텐트 t. 코 m/기테 b/페구 st/마s테 r/ぃb/페구 st/펜구아게 s. yml ↩
htps : // 기 st. 기주 b. 코 m / 엣 gp ぁ ts / 8b78 265 71337 df 58 8461 16 9 3 f5 ↩
htps : // 기 st. 기주 b. 코 m / 엣 gp ぁ ts / 8b78 265 71337 df 58 8461 16 9 3 f5 ↩
Reference
이 문제에 관하여(Qiita의 언어별 기사수・팔로워수 랭킹을 쉘예술로 만든다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/eggplants/items/b3d11f864298ab50f32a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)