Advertisement
Guest User

SSC comment thread analyzer

a guest
Jan 24th, 2019
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.03 KB | None | 0 0
  1. #!/bin/bash
  2. # Use SSC post/OT URLs as parameters
  3. # Prints number of comments
  4. # Prints number of comments, number of top-level comments,
  5. # average length of thread under a top-level comment, longest thread
  6.  
  7. for i in "$@"; do
  8.     filename=$(sed 's+https\?://slatestarcodex.com/.*/.*/.*/\(.*\)/+\1+' <<< "$i")
  9.     page=
  10.     page=$(wget -qO - "$i")
  11.     comment_depths=$(grep -o 'depth-[0-9]*"' <<<$page | grep -o '[0-9]*' | tr -d "\n")
  12.     total_comments=${#comment_depths}
  13.     toplevel_comments=$(grep -o 1 <<<$comment_depths | wc -l)
  14.     comments_per_thread=$(bc <<<"scale=1; $total_comments/$toplevel_comments")
  15.     longest_thread=0
  16.     longest_thread=$(sed 's/1/\n1/g' <<<$comment_depths | {
  17.         while read thread; do
  18.             thread_length=${#thread}
  19.             if [[ $thread_length -ge $longest_thread ]] ; then
  20.                 longest_thread=$thread_length
  21.             fi
  22.         done
  23.         echo $longest_thread
  24.     })
  25.     echo $filename $total_comments $toplevel_comments $comments_per_thread $longest_thread
  26. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement