Qiita의 언어별 기사수・팔로워수 랭킹을 쉘예술로 만든다

이번에는 Github의 신택스 하이라이트 대응 언어 목록 1
  • Qiita의 언어 별 기사 수와 태그 팔로워 수 CSV를 작성 (2020 년 03 월 14 일 현재)
  • 정렬 및 순위 지정

  • 생각해.

    결과


  • 열 이름: ランク,言語,記事数,フォロワー数
  • 전체 결과는 여기
  • 아래에 표시된 것은 결과를 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
    

    랭킹 작성 파트


  • 숫자가 같으면 다른 숫자로 비교하십시오

  • 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
    

    그건 그렇고




  • 태그가 없는 언어는 총 545개 언어 중 40%인 218개 언어

  • 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
    
  • 태그는 있지만 기사도 팔로워도 없는 언어는 15언어

  • 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
    
  • 태그는 있고 기사도 있지만 팔로워가 없는 언어는 64언어

  • 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
    
  • 태그가 있어 기사는 없지만 팔로워가 있는 언어는 0언어

  • Terminal
    $ grep -P ',0,[^0]+$' result
    $ grep -cP ',0,[^0]+$' result
    0
    
  • 태그가 있고 기사도 팔로워도 있는 언어는 248 언어

  • 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 

    좋은 웹페이지 즐겨찾기