#] #] ********************* #] "$d_bin"'blog/0_blogs notes.txt' # www.BillHowell.ca 11Oct2024 initial # view in text editor, using constant-width font (eg courier), tabWidth = 3 #48************************************************48 #24************************24 # Table of Contents, generate with : # $ grep "^#]" "$d_bin"'blog/0_blogs notes.txt' | sed "s|^#\]| |" >"$d_bin"'blog/0_blogs notes TblOfContents.txt' # # +--+ #] [toRead, revisit]*[paper, email, vid,etc]s, use |*| anywhere in doc - pulls out line # $ grep "\(|\*|\)" "$d_bin"'blog/0_blogs notes.txt' | sed 's|^#\] ||' #24************************24 # Setup, ToDos, #08********08 #] ??Nov2024 #08********08 #] ??Nov2024 #08********08 #] ??Nov2024 #08********08 #] ??Nov2024 #08********08 #] 12Nov2024 fix pCmtThm_process() 20:58$ bash "$d_bin"'blog/blog analysis.sh' /home/bill/web/bin/blog/blog analysis.sh: line 38: : No such file or directory keyWrdA_length = 0 funcSel == pCmtThm_process /home/bill/web/bin/blog/blog analysis.sh: line 354: /home/bill/web/ProjMajor/History/Jacobovici, Exodus plagues/transcripts/Jacobovici comments 6 Inn.txt: No such file or directory +-----+ olde code # setup theme output files : while read -u 943 fNamTheme; do themeAry[$i]="$fNamTheme" done 943<"$pThemeL" echo "${themeAry[@]}" #08********08 #] 09Nov2024 search 'how do I format my youTube comments?' >> very lame: [no indent, bullet, etc] +-----+ https://www.howtogeek.com/797411/strike-through-bold-italics-text-in-youtube-comment/ How to Strike Through, Bold, or Italicize Text in YouTube Comments Mahesh Makvana 12Jul2024 Strike-Through Comments on YouTube With the strike-through option, you can add a line crossing out your comment text. To use it, add a dash before and after your comment text. This will add a strike-through effect to your text. -This video could have been better- Bold Comments on YouTube Bolding your comments increases the thickness of your text and makes it stand out. To do this, you will put your comment text between * (asterisk) signs. *This video is awesome* Italics Comments on YouTube Italicizing your comment text is as easy as italicizing in WhatsApp. To make your text italic, you'll wrap the text around an _ (underscore). _That is super cool_ Apply Multiple Styles to Your YouTube Comments at Once *_This text uses multiple formatting options_* #08********08 #] 04Nov2024 Bartek Igielski: comments analyzer (BICA) chatGPT msg : It looks like you're ready to upload your file! Please go ahead and use the "Upload File" button to add the TXT file with the YouTube comments, and I'll start the analysis as soon as I receive it. >> I upgraded chatGPT to 20 $US/m then uploaded file. I guess I just have to wait for response? We will be back online at 07:30 AM >> nuts, have to wait to change password? Thank you for uploading the file! I'll start analyzing it to identify the main topics and provide a summary of the key themes discussed in the comments. This will just take a moment. It appears that no specific topic or key theme details were directly extractable from the file in that format. I'll proceed by reading through the file content to identify the main topics manually. This will allow me to create an effective summary based on the key themes and recurring subjects within the comments. One moment, please! >> Idiot! I hadn't clicked the "up-icon" to upload the file The tool didn’t retrieve specific information from a direct search of the file, likely due to the file format. I’ll manually examine the content further to create a detailed analysis of the main topics. Please hold on for a moment as I complete this review. >> [my localURL, Timeline comment]s messed it up? 05Nov2024 Howell : This is my first attempt at using "Bartek Igielski: comments analyzer" (BICA), so I'm concerned about the "manual" part of the work as per the previous responses. That's too much work for a human!! (I did that as part of my very simple approach combining [bash function, 2 manual step]s). I will attempt again using the 'Jacobovici comments 0 raw.txt' file, with unicode - simple ascii conversion, and no header, which seemed to be a problem the last time. 'Jacobovici comments 1 no [unicode, header].txt' +-----+ BICA : Thank you for re-uploading the file with modifications! I'll now analyze it for the Main Topics and Summary without manual steps, focusing on automating the extraction of key themes and topics discussed in the comments. One moment as I process this. Main Topics and Summary Report for "Jacobovici comments" 1. Controversy Over Historical and Religious Interpretation Topic Overview: Many comments focus on the interpretation of biblical events, particularly the Exodus. Debates arise about the historical validity of these events, with some viewers supporting a literal biblical interpretation, while others argue for a metaphorical or fictional interpretation. Viewer Sentiment: Divisive; believers in the biblical narrative challenge skeptics, leading to heated discussions. Some viewers appreciate historical perspectives devoid of religious biases, advocating for archaeological accuracy​​. 2. Critique of Documentaries and James Cameron’s Involvement Topic Overview: A significant number of comments critique James Cameron’s role, with viewers recalling controversies from his past projects. Some accuse him of pushing a biased narrative, particularly in manipulating historical facts to fit a specific agenda. Viewer Sentiment: Negative; viewers express distrust in his documentaries, with some referring to past issues related to "The Jesus Tomb" documentary, where they felt facts were selectively used or misrepresented​​. 3. Ad Blocker Solutions and YouTube Advertising Complaints Topic Overview: Many comments mention frustrations with YouTube ads, especially during long documentaries. Solutions, like using ad blockers or watching the video to the end and refreshing, are frequently suggested. Viewer Sentiment: Lighthearted but annoyed; these comments often take a humorous tone, with some viewers bonding over shared grievances about intrusive ads​​. 4. Science vs. Faith and Modern Interpretations Topic Overview: Viewers discuss conflicts between scientific perspectives and faith-based beliefs. Comments often reference alternative scientific explanations for biblical events (e.g., natural disasters accounting for plagues) or question the accuracy of religious texts. Viewer Sentiment: Mixed; some commenters criticize religious belief as dogmatic, while others advocate for faith. This topic leads to discussions about whether science and faith can coexist or inherently conflict​​. 5. Calls for a Balanced Perspective on Archaeology and Theology Topic Overview: Some commenters express a desire for a neutral exploration of religious history. They propose focusing on archaeological findings and ancient texts rather than promoting any religious agenda. Viewer Sentiment: Positive towards neutrality; these viewers value discussions based on historical evidence without religious biases. They argue that both believers and skeptics should appreciate the historical exploration of religious texts without imposing beliefs​​. Summary The comments on "Jacobovici" content reflect a blend of historical curiosity, skepticism towards religious narratives, and frustrations with modern media practices (like YouTube ads). Viewer reactions reveal a strong division between those advocating a faith-based interpretation of historical events and those prioritizing science and archaeology. Additionally, James Cameron's involvement invites skepticism due to past controversies. Overall, this video has sparked a robust dialogue on faith, science, and the challenges of presenting historical narratives in modern media. >> Howell: Overall : not bad for a "very high-altitude" perspective of a very [poetic, cloudy] nature suited to those who prefer [arm wave, yapp]ing rather than working through details equivalent to [under,]grad student one-page summary? useful to see what a dedicated chatGPT app can do, but so far it's very limited. I think that special comment-by-comment analysis might do something really good, but highly slanted politically-correct no idea of what "fine-tuning" might be able to do -> can I repose question with [target 50 themes, sample comments]? My targets : almost no use for my objectives of a [detailed, diverse, unbiased, random, rare] "readable classifications" of substantive comments, going from 22,000 comments to <200. see my webPage "$d_bin"'blog/blog comment analysis.html' could help if applied to my "$d_projMaj"'History/Jacobovici, Exodus plagues/themes/' still haven't completed bash script to produce theme files... #08********08 #] 04Nov2024 Jacobovic count of # of blog comments $ grep -o '@' "$d_projMaj"'History/Jacobovici, Exodus plagues/comments/Jacobovici comments 0 raw.txt' | wc -l 26033 >> OK, full download #08********08 #] 25Oct2024 pCmtThm_process() - continue initial development #2 +-----+ olde code # pCmtTmp_typ_save_pThemeAry() - adds pThemes to array paragraphL, adds linAuthor to all pThemes # 23Oct2024 initial pCmtTmp_typ_save_pThemeAry() { pCmtRest= pCmtRest="$d_bin"'blog/tst pCmtTmp_typ_save_pThemeAry.txt' pCmtTmp_typ_save_pThemeAry "$pCmtRest" 'restOfCmtL[$i]' 'getRestOfCmtL' } #08********08 #] 23Oct2024 pCmtThm_process() - continue initial development +-----+ olde code #???? # echo >>"$dBlog${restOfCmtL[$i]}" "$linAuthor" # for (( i=0; i < $nAll; i++ )); do # echo >>"$dBlog${restOfCmtL[$i]}" "$line" # fi # if '#> ' augments restOfCmtL - lenRestOfCmtL=${#restOfCmtL[@]} for (( i=0; i < $lenRestOfCmtL; i++ )); do echo >>"$dBlog${restOfCmtL[$i]}" "$linAuthor" echo >>"$dBlog${restOfCmtL[$i]}" '' done lenParagraphL=${#paragraphL[@]} for (( i=0; i < $lenParagraphL; i++ )); do echo >>"$dBlog${paragraphL[$i]}" "$line" done # rebuild paragraphL array if necessary if [[ "$bolParagraphL" == 1 ]]; then unset paragraphL; fi if [[ "$bolThemeL" == '#> ' ]]; then pCmtTmp_typ_save_pThemeA pCmtTmp themeAry getThemeAry echo >>"$pRestOfCmtTmp" '' # save pRestOfCmtTmp to current restOfCmtL[@] then rm for further content lenRestOfCmtL=${#restOfCmtL[@]} for (( i=0; i < $lenRestOfCmtL; i++ )); do cat >>"$dBlog${restOfCmtL[$i]}" "$pRestOfCmtTmp" done # preps for new paragraph # -> nuts! I want to add linAuthor only to new restOfCmtL[$i] rm "$pRestOfCmtTmp" getRestOfCmtL echo >>"$pRestOfCmtTmp" "$linAuthor" echo >>"$pRestOfCmtTmp" "$line" elif [[ "$bolThemeL" == '#>> ' ]]; then echo >>"$pParagraphTmp" '' # save pParagraphTmp to current paragraphL[@] lenParagraphL=${#paragraphL[@]} for (( i=0; i < $lenParagraphL; i++ )); do cat >>"$dBlog${paragraphL[$i]}" "$pParagraphTmp" echo >>"$dBlog${paragraphL[$i]}" '' done # preps for new pParagraphTmp rm "$pParagraphTmp" getParagraphL echo >>"$pParagraphTmp" "$linAuthor" echo >>"$pParagraphTmp" "$line" else echo "themeLine error $bolThemeL" fi elif [[ -z "$bolWhiteLine" ] || [ -z "$bolVotesLine" ]]; then bolRmParagraphL=1; else echo >>"$pRestOfCmtTmp" "$line" echo >>"$pParagraphTmp" "$line" #08********08 #] 22Oct2024 getRestOfCmtL() - adds pThemes to array restOfCmtL... tests 11:09$ bolThemeL="#> 'Jacobovici theme people Hebrews who were they.txt' 'Jacobovici theme references.txt' " ~ 11:09$ echo "$bolThemeL" #> 'Jacobovici theme people Hebrews who were they.txt' 'Jacobovici theme references.txt' ~ 11:10$ echo "$bolThemeL" sed 's|^#[>]\+ ||' | sed "s|[']\(.*\)['] |\1|" #> Jacobovici theme people Hebrews who were they.txt' 'Jacobovici theme references.txt sed s|^#[>]\+ || >> oops 11:14$ pass1=$( echo "$bolThemeL" | sed 's|^#>\+ ||' | sed "s|[']\(.*\)['] |\1|" ) echo "$pass1" Jacobovici theme people Hebrews who were they.txt' 'Jacobovici theme references.txt 11:19$ pass2=$( echo "$pass1" | sed "s|.*[']\(.*\)|\1|" ) ~ 11:19$ echo "$pass2" Jacobovici theme references.txt ~ 11:31$ nFnam=$( echo "$bolThemeL" | grep -o "'" | wc -l ) ~ 11:31$ echo "$nFnam" 4 ~ 11:32$ ~ 11:32$ let 'nFnam = nFnam / 2' ~ 11:32$ echo "$nFnam" 2 ~ dBlog="$d_projMaj"'History/Jacobovici, Exodus plagues/' getRestOfCmtL() { # how many restOfCmtL are there currently? nStrt=${#restOfCmtL[@]} # extract fNamThemeL pass=$( echo "$bolThemeL" | sed 's|^#>\+ ||' | sed "s|[']\(.*\)['] |'\1|" ) nFnam=$( echo "$bolThemeL" | grep -o "'" | wc -l ) let 'nAll = nStrt + nFnam' for (( i=nStrt; i < $nAll; i++ )); do restOfCmtL[$i]=$( echo "$pass" | sed "s|.*[']\(.*\)['].*|\1|" ) pass=$( echo "$pass" | sed "s|\(.*\)['].*|\1|" ) done for (( i=0; i < $nAll; i++ )); do echo $line >>"$dBlog${restOfCmtL[$i]}"; fi } ## test 22Oct2024 # unset restOfCmtL # ## linAuthor='5 years ago | @NephilimFree | ' ## bolThemeL="#> 'Jacobovici theme people Hebrews who were they.txt' 'Jacobovici theme references.txt' " # # linAuthor='4 years ago | @RalphEllis | ' # bolThemeL="#> 'Jacobovici theme people Hyksos who were they.txt' 'Jacobovici theme date of the Exodus.txt' 'Jacobovici theme volcanoe [Thera=Santorini].txt' 'Jacobovici theme historians ancient [Artapanus, Flavius, Hecataeus, Herodotus, Manetho, Diodorus, Siculus, Strabo].txt' 'Jacobovici theme references.txt' " # getRestOfCmtL # >> Howell 22Oct2024 13:23 works fine ## test 22Oct2024 # unset restOfCmtL # ## linAuthor='5 years ago | @NephilimFree | ' ## bolThemeL="#> 'Jacobovici theme people Hebrews who were they.txt' 'Jacobovici theme references.txt' " # linAuthor='4 years ago | @RalphEllis | ' bolThemeL="#> 'Jacobovici theme people Hyksos who were they.txt' 'Jacobovici theme date of the Exodus.txt' 'Jacobovici theme volcanoe [Thera=Santorini].txt' 'Jacobovici theme historians ancient [Artapanus, Flavius, Hecataeus, Herodotus, Manetho, Diodorus, Siculus, Strabo].txt' 'Jacobovici theme references.txt' " getParagraphL # >> Howell 22Oct2024 13:34 works fine pBlog_get_pCmt() - gets lines of a single comment rm lines: # if [ "$funcSel" == 'pCmtBig_process' ]; then pCmtBig_process # elif [ "$funcSel" == 'pCmtKey_process' ]; then pCmtKey_process # elif [ "$funcSel" == 'pCmtScr_process' ]; then pCmtScr_process # fi #08********08 #] 18Oct2024 timeStamped table geany regexp multi-line from text #08********08 #] 17Oct2024 blog comment analysis webPage 18Oct2024 +-----+ olde code cat >>"$pKeyWrdJacobAllL" "$pKeyWrdJacobL" "$pKeyWrdNiceL" "$pKeyWrdBad_L" #08********08 #] 17Oct2024 near-final correction statius (1 errors only?) '0_test log.txt' : pCmtScr_get_pLogIOCountL 17Oct2024 21h25m24s cmtTot = 758 cmtSum = 758 cmt[$i] : 1 2 3 4 5 6 7 8 9 10 11 12 13 86 520 22 104 3 18 0 4 0 0 0 1 0 cmtInn = 183 cmtOut = 573 cmtMis = 2 sumIOM = 754 #08********08 #] 16Oct2024 check all process stages - am I losing the 1st line every time? standard : Jacobovici 17Nov2018 raw comments 241011.txt stages yyy pNoUnic Jacobovici comments no unicode.txt 111 pCmtBig Jacobovici comments big.txt 222 pCmtKey Jacobovici comments keyWords.txt 333 pCmtScr Jacobovici comments score.txt (Jacobovici comments temp.txt) [1, 2, 3] - lost next [1, 2, 3] lines after initial line >> Obviously, my script chops off the next line after title at each stage. >> pNoUnic - doesn't use finn_getCmt_pTmp, so it's OK : pBlog_process 'funcSel == pCmtBig_process' iconv -f utf8 -t ascii//TRANSLIT "$pCmtRaw" >"$pNoUnic" tests : to pCmtKey : 5 years ago | @scorp10fl53 | If you want to see 'ANY' YouTube video 5 years ago | @NephilimFree | The Brooklyn Papyrus is a document 4 years ago | @noelhausler2911 | The pCmtScr : The Papyrus Leiden, also called The Ipuwer Papyrus, dated to is in bounderies of saudi arabia no its Sargon. Aka Sargon the Great +-----+ example 'funcSel == pCmtKey_process' change : elif [ "$funcSel" == 'pCmtKey_process' ]; then echo 'funcSel == pCmtKey_process' exec 9<"$pCmtBig" while IFS='' read -u 9 line; do bolNew=$( echo "$line" | grep "$strCmtStart" ) if [[ -n "$bolNew" ]]; then echo >"$pCmt" "$line" else finn_getCmt_pTmp pCmtKey_process echo >"$pCmt" "$strNew" fi done to : elif [ "$funcSel" == 'pCmtKey_process' ]; then echo 'funcSel == pCmtKey_process' exec 9<"$pCmtBig" while IFS='' read -u 9 line; do bolNew=$( echo "$line" | grep "$strCmtStart" ) if [[ -n "$bolNew" ]]; then echo >"$pCmt" "$line" else finn_getCmt_pTmp pCmtKey_process echo >"$pCmt" "$strNew" fi done change : finn_getCmt_pTmp() { bolInn=1 while [[ "$bolInn" == 1 ]]; do read -u 9 line bolNew=$( echo "$line" | grep "$strCmtStart" ) if [[ -n "$bolNew" ]]; then bolInn=0 strNew="$line" elif [[ "$line" == '# enddoc' ]]; then bolInn=0 else echo >>"$pCmt" "$line" fi done } to : pBlog_get_pCmt() { echo >"$pCmt" "$strNew" bolInn=1 while [[ "$bolInn" == 1 ]]; do read -u 9 line bolNew=$( echo "$line" | grep "$strCmtStart" ) if [[ -n "$bolNew" ]]; then if [ "$funcSel" == 'pCmtBig_process' ]; then pCmtBig_process elif [ "$funcSel" == 'pCmtKey_process' ]; then pCmtKey_process elif [ "$funcSel" == 'pCmtScr_process' ]; then pCmtScr_process fi strNew="$line" bolInn=0 elif [[ "$line" == '# enddoc' ]]; then bolInn=0 bolEnd=1 else echo >>"$pCmt" "$line" fi done echo >"$pCmt" '' } +-----+ standard : Jacobovici 17Nov2018 raw comments 241011.txt stages lp pCmtBig Jacobovici comments big.txt pCmtKey Jacobovici comments keyWords.txt pCmtScr Jacobovici comments score.txt (Jacobovici comments temp.txt) [1, 2, 3] - lost next [1, 2, 3] lines after initial line lp - endless loop for script >> pCmtBig - endless loop problem MUST be fixed! cannot go to pCmtKey >> oops, didn't append to end of file: "$line" == '# enddoc' >> for now I must do manually after stopping script with ^C?!!!??? >> edit pNoUnic, retry pBlog_process 'pCmtBig_process' '| @' "$pCmtRaw" "$pCmtBig" pBlog_process change : if [ "$funcSel" == 'pCmtBig_process' ]; then # get rid of unicode etc iconv >"$pNoUnic" -f utf8 -t ascii//TRANSLIT "$pCmtRaw" to: if [ "$funcSel" == 'pCmtBig_process' ]; then # get rid of unicode etc iconv >"$pNoUnic" -f utf8 -t ascii//TRANSLIT "$pCmtRaw" echo >>"$pNoUnic" '' echo >>"$pNoUnic" '# enddoc' echo >>"$pNoUnic" '' pCmtBig_process : 11:20$ bash "$d_bin"'blog analysis.sh' keyWrdA_length = 23 funcSel == pCmtBig_process ~ 11:31$ >> really slow, lets try eval pBlog_get_pCmt change : if [ "$funcSel" == 'pCmtBig_process' ]; then pCmtBig_process elif [ "$funcSel" == 'pCmtKey_process' ]; then pCmtKey_process elif [ "$funcSel" == 'pCmtScr_process' ]; then pCmtScr_process fi to: eval "$funcSel" 11:43$ bash "$d_bin"'blog analysis.sh' keyWrdA_length = 23 funcSel == pCmtBig_process ~ 11:50$ >> much faster, but still slower than before combining all processes in pBlog_get_pCmt +-----+ tests again : standard : Jacobovici 17Nov2018 raw comments 241011.txt stages yyy pCmtBig Jacobovici comments big.txt yyy pCmtKey Jacobovici comments keyWords.txt yyy pCmtScr Jacobovici comments score.txt (Jacobovici comments temp.txt) [1, 2, 3] - lost next [1, 2, 3] lines after initial line lp - endless loop for script tests : to pCmtKey : 5 years ago | @scorp10fl53 | If you want to see 'ANY' YouTube video 5 years ago | @NephilimFree | The Brooklyn Papyrus is a document 4 years ago | @noelhausler2911 | The pCmtScr : 5 years ago | @NephilimFree | The Brooklyn Papyrus is a document 4 years ago | @PRESS.RELEASE619 | nah last part 4 months ago | @johnslaughter5475 | I think this has all been very well researched and is +--+ "$funcSel" == 'pCmtBig_process' #16Oct2024 #11:43$ bash "$d_bin"'blog analysis.sh' #keyWrdA_length = 23 #funcSel == pCmtBig_process #~ #11:50$ #>> much faster, but still slower than before combining all processes in pBlog_get_pCmt #12:27$ grep -o ' | @' "$d_projMaj"'History/Jacobovici, Exodus plagues/Jacobovici comments big.txt' | wc -l #5425 # +--+ "$funcSel" == 'pCmtKey_process' #16Oct2024 #12:10$ bash "$d_bin"'blog analysis.sh' #keyWrdA_length = 23 #funcSel == pCmtKey_process #~ #12:23$ #>> 13 minutes, twice as long as pCmtBig_process # #12:45$ grep -o ' | @' "$d_projMaj"'History/Jacobovici, Exodus plagues/Jacobovici comments keyWords.txt' | wc -l #5424 # #4.0Mb 'Jacobovici comments keyWords.txt' +--+ "$funcSel" == 'pCmtScr_process' 12:36$ bash "$d_bin"'blog analysis.sh' keyWrdA_length = 23 funcSel == pCmtScr_process ~ 12:41$ ~ 12:45$ grep -o ' | @' "$d_projMaj"'History/Jacobovici, Exodus plagues/Jacobovici comments score.txt' | wc -l 771 >> far too many to manually check all #0.72Mb 'Jacobovici comments score.txt' Eah step in process adds another empty line between comments that's OK, makes it easier to read. +-----+ olde code # 15Oct2024 Nuts - gets stuck on last comment when using pCmtKey_process # can't seem to fix it??? # doesn't happen with pCmtBig_process - WHY???? # I deleted pCmt[, pCmtTmp], also in pBlog_process added rm "$pCmt" # >> still doesn't solve the problem!?!??? # partially solved with '# enddoc' if, but 15Oct2024 fails with pCmtScr_process!?!?!?? #08********08 #] 15Oct2024 improve [unicode, ], fix tests put into pBlog_process iconv -f utf8 -t ascii//TRANSLIT "$pCmtRaw" >"$pNoUnic" 09:04$ bash "$d_bin"'blog analysis.sh' funcSel == pCmtBig_process I used unset varName to remove current defn, then rebuilt to ensure that finn_getCmt_pTmp doesn't get in infinite loop because ofEOF, for pCmtBig_process() add : echo >>"$pCmtTmp" '# enddoc' >> seems to work? change : for (( i=0; i < $keyWrdA_length; i++ )) to : for (( i=0; i < ${keyWrdA_length}; i++ )) 14:45$ bash "$d_bin"'blog analysis.sh' funcSel == pCmtKey_process >> didn't work keyWrdA_setup() change : keyWrdA_length=i to : keyWrdA_length="$i" echo "dBlog = $dBlog" $ grep '#]' "$dBlog"'Jacobovici comments keyWords.txt' oops - error using grep as sed!??? pCmtScr_process change : grep "#] \([-]*[0-9]\+\) |\1|" "$pCmt" to: grep '#] ' "$pCmt" | sed s'|#\] \([-]*\)\([0-9]\+\) .*|\1\2|' +-----+ olde code # 12Oct2024 22:51 number of blog comments in pCmtSel : # grep '| @' "$d_temp"'comments big.txt' | wc -l #22:42$ grep '| @' "$d_temp"'comments big.txt' | wc -l #4256 #14Oct2024 #20:22$ grep -o ' | @' '/media/bill/ramdisk/comments big.txt' | wc -l #1157 #20:43$ grep -o ' | @' "$d_projMaj"'History/Jacobovici, Exodus plagues/Jacobovici 17Nov2018 raw comments 241011.txt' | wc -l #22232 # $ cat "$pCmt" # $ grep "#] \([-]*[0-9]\+\) |\1|" "$pCmt" # $ grep "#] \([-]*\)\([0-9]\+\) |\1|" "$pCmt" # $ grep "#] \([0-9]\+\) |\1|" "$pCmt" # $ grep "#] " "$pCmt" # $ grep '#] ' "$pCmt" | sed s'|#\] \([0-9]\+\) .*|\1|' # $ grep '#] ' "$pCmt" | sed s'|#\] \([-]*\)\([0-9]\+\) .*|\1\2|' #08********08 #] 12Oct2024 keyWrdL handling 14Oct2024 : pCmtBig_process runTime 14:50 to 14:58 20:17$ bash "$d_bin"'blog analysis.sh' funcSel == pCmtBig_process 20:22$ 20:54$ bash "$d_bin"'blog analysis.sh' funcSel == pCmtBig_process 20:59$ number of blog comments extracted : 20:22$ grep -o ' | @' '/media/bill/ramdisk/comments big.txt' | wc -l 1157 20:43$ grep -o ' | @' "$d_projMaj"'History/Jacobovici, Exodus plagues/Jacobovici 17Nov2018 raw comments 241011.txt' | wc -l 22232 >> nice, ~95% cull, results are ~5% of original comments word lists : +-----+ olde code # keyword phrases Ahmose=$( grep -iq 'Ahmose' "$pCmt"; [ $? -eq 0 ] && echo 2 || echo 0 ) Avaris=$( grep -iq 'Avaris' "$pCmt"; [ $? -eq 0 ] && echo 2 || echo 0 ) ElBalh=$( grep -iq 'El Balah' "$pCmt"; [ $? -eq 0 ] && echo 2 || echo 0 ) Hassan=$( grep -iq 'Beni Hassan' "$pCmt"; [ $? -eq 0 ] && echo 2 || echo 0 ) Hyksos=$( grep -iq 'Hyksos' "$pCmt"; [ $? -eq 0 ] && echo 2 || echo 0 ) Khadim=$( grep -iq 'Serabit El Khadim' "$pCmt"; [ $? -eq 0 ] && echo 2 || echo 0 ) Plague=$( grep -iq 'plague' "$pCmt"; [ $? -eq 0 ] && echo 2 || echo 0 ) Seqene=$( grep -iq 'Seqenenre' "$pCmt"; [ $? -eq 0 ] && echo 2 || echo 0 ) Sinai_=$( grep -iq 'Mount Sinai' "$pCmt"; [ $? -eq 0 ] && echo 2 || echo 0 ) volcan=$( grep -iq 'volcan' "$pCmt"; [ $? -eq 0 ] && echo 2 || echo 0 ) YamSuf=$( grep -iq 'Yam Suf' "$pCmt"; [ $? -eq 0 ] && echo 2 || echo 0 ) # positive phrases good01=$( grep -iq 'is very believable' "$pCmt"; [ $? -eq 0 ] && echo 1 || echo 0 ) # negative phrases brainw=$( grep -iq 'brainwashed' "$pCmt"; [ $? -eq 0 ] && echo -1 || echo 0 ) fake__=$( grep -iq 'fake' "$pCmt"; [ $? -eq 0 ] && echo -1 || echo 0 ) fool__=$( grep -iq 'fool' "$pCmt"; [ $? -eq 0 ] && echo -1 || echo 0 ) ignora=$( grep -iq 'ignorance' "$pCmt"; [ $? -eq 0 ] && echo -1 || echo 0 ) Jesus_=$( grep -iq 'Jesus' "$pCmt"; [ $? -eq 0 ] && echo -1 || echo 0 ) liar__=$( grep -iq 'liar' "$pCmt"; [ $? -eq 0 ] && echo -1 || echo 0 ) myth__=$( grep -iq 'myth' "$pCmt"; [ $? -eq 0 ] && echo -1 || echo 0 ) nonsen=$( grep -iq 'nonsense' "$pCmt"; [ $? -eq 0 ] && echo -1 || echo 0 ) idiot_=$( grep -iq 'idiot' "$pCmt"; [ $? -eq 0 ] && echo -1 || echo 0 ) stupid=$( grep -iq 'stupid' "$pCmt"; [ $? -eq 0 ] && echo -1 || echo 0 ) score=$((( $Ahmose+$Avaris+$ElBalh+$Hassan+$Khadim+$Plague+$Seqene+$Sinai_+$volcan+$YamSuf+$good01+$brainw+$fake__+$fool__+$ignora+$Jesus_+$liar__+$myth__+$nonsen+$idiot_+$stupid ))) echo >>"$pTstLog" "score = $score" echo >>"$pTstLog" '$Ahmose$Avaris$ElBalh$Hassan$Khadim$Plague$Seqene$Sinai_$volcan$YamSuf$good01$brainw$fake__$fool__$ignora$Jesus_$liar__$myth__$nonsen$idiot_$stupid' wrdVector="$Ahmose$Avaris$ElBalh$Hassan$Khadim$Plague$Seqene$Sinai_$volcan$YamSuf$good01$brainw$fake__$fool__$ignora$Jesus_$liar__$myth__$nonsen$idiot_$stupid" echo >>"$pTstLog" "wrdVector = $wrdVector" while read -u 9 pKeyWrd; do while read -u 8 line; do keyWrd=$( echo "$line" | sed 's|\(.*\)\t.*|\1|' ) keyScr=$( echo "$line" | sed 's|.*\t\(.*\)|\1|' ) keyWrdL[$i]="$keyWrd" scoreL[$i]="$score" let "i= i + 1" done 8< "$pKeyWrd" done 9< "$pKeyWrdL" length=i #sed 's|[ \.\"\,\?\:\(\)\!]\+|\n|g' "$pCmtRaw" | sed "s|[ \']\+|\n|g" | sort -u >"$pWrdBlogRawL" #sed 's|[ ~#%+^_<>\&\.\"\,\?\:\;\=\(\)\\\/\!\*\[\]\|]\+|\n|g' "$pCmtRaw" | sed "s|[ \']\+|\n|g" | sort -u >"$pWrdBlogRawL" #15:56$ if [ 22222222222000000000000 == 00000000000000000000000 ]; then echo '=='; else echo '<>'; fi #<> #15:59$ if [ 22222222222000000000000 == 22222222222000000000000 ]; then echo '=='; else echo '<>'; fi #== #15:59$ if [ 22222222222000000000000 <> 00000000000000000000000 ]; then echo '<>'; else echo '=='; fi #<> #16:00$ if [ 22222222222000000000000 <> 22222222222000000000000 ]; then echo '<>'; else echo '=='; fi #<> # >> WRONG!!, why? #16:01$ if [ '22222222222000000000000' <> '22222222222000000000000' ]; then echo '<>'; else echo '=='; fi #<> # >> WRONG!!, why? #16:04$ if [ '22222222222000000000000' -ne '22222222222000000000000' ]; then echo '<>'; else echo '=='; fi #bash: [: 22222222222000000000000: integer expression expected #== #>> my own if summary says won't work, results confirm (must be nnumbers) #+-----+ #16:05$ if [ '22222222222000000000000' == '00000000000000000000000' ]; then echo '=='; else echo '<>'; fi #<> #16:17$ if [ '22222222222000000000000' == '22222222222000000000000' ]; then echo '=='; else echo '<>'; fi #== #16:18$ if ! [ '22222222222000000000000' == '00000000000000000000000' ]; then echo '<>'; else echo '=='; fi #<> #+------+ #>> all three above are OK #08********08 #] 13Oct2024 tests in "$d_bin"'blog analysis.sh' pCmtTst_nice="$d_bin"'blog/comment nice1.txt' +-----+ details #pCmt="$d_temp"'comment one-only.txt' #echo "$pCmt" #pSize=$( pth_get_byteSize "$pCmt" ) #echo "$pSize" #if [ "$pSize" -gt 300 ]; then echo '"$pSize" -gt 300'; else echo '"$pSize" -le 300'; fi #pCmtTst="$d_bin"'blog/comment bad1.txt' # 4 years ago | @varyolla435 |  @hernafelhibionada4932  nonsensical analogies and platitudes merely reinforce what I noted = to wit your understanding of what you rail about is nonexistent. Conjecture and incredulity is not evidence and accordingly it is not a rebuttal............merely "noise". #21:56$ bash "$d_bin"'blog analysis.sh' #/media/bill/ramdisk/comment one-only.txt #299 #"$pSize" -le 300 #~ # 4 years ago | @pixiecut11 | Aaron Seet 😂🤣🤣🤣🤣🤣 | Votes: 0 | Reply: true #21:58$ bash "$d_bin"'blog analysis.sh' #/media/bill/ramdisk/comment one-only.txt #90 #"$pSize" -le 300 #~ #pCmtTst_nice="$d_bin"'blog/comment nice1.txt' # 4 years ago | @shearslisa | And then there was light (it's called youtube) you have two seconds of ads for every twenty some minutes of show that's nothing by comparison to what you get on cable which incidentally was originally created the pay for tv for zero ads; until they managed to block analog signals; which you can bypass by purchasing a basic antennae; which no cable company can scramble; as it comes directly from the same satellites as the cable companies use to distribute or block the signals to the consumers; see where there is a will there is a way; we didn't grow up with a thousand channels we used antennas and had pretty good shows on tv and lots of choice of what to watch back in the days when families sat together and had dinner at the kitchen table(obsolete)or sat together and watched tv together another thing that's obsolete...I miss those days... no one has time for the very foundation of their existence on this earth; their families... | Votes: 0 | Reply: true #22:01$ bash "$d_bin"'blog analysis.sh' #/media/bill/ramdisk/comment one-only.txt #997 #"$pSize" -gt 300 #~ # 12Oct2024 22:51 number of blog comments in pCmtSel : # grep '| @' "$d_temp"'comments big.txt' | wc -l #22:42$ grep '| @' "$d_temp"'comments big.txt' | wc -l #4256 # bolNew=$( echo "3 years ago | @davidvilla9458 | Lmfao | Votes: 0 | Reply: true" | grep ' | @' ) #21:30$ echo "$bolNew" #3 years ago | @davidvilla9458 | Lmfao | Votes: 0 | Reply: true #~ #21:36$ if [[ -n "$bolNew" ]]; then echo "$bolNew"; else echo 'bolNew is empty'; fi #3 years ago | @davidvilla9458 | Lmfao | Votes: 0 | Reply: true #~ # >>OK #21:30$ bolNew=$( echo "3 years ago | davidvilla9458 | Lmfao | Votes: 0 | Reply: true" | grep ' | @' ) #~ #21:31$ echo "$bolNew" # #~ #21:34$ if [[ -n "$bolNew" ]]; then echo "$bolNew"; else echo 'bolNew is empty'; fi #bolNew is empty #~ # >>OK #00:38$ core=$(( 1+1+1+1+1+1+1+1+1+1-1-1-1-1-1-1-1-1-1-1 )) #~ #00:38$ echo $core #0 #~ #00:39$ core=$(( 1+1+1+1+1+1+1+1+1+1-1-1-1-1-1 )) #~ #00:40$ echo $core #5 #~ #00:40$ core=$(( 1+1+1+1+1+1+1-1-1-1-1-1-1-1-1-1-1 )) #~ #00:40$ echo $core #-3 #~ # >> OK #08********08 #] 13Oct2024 fix "$d_bin"'blog analysis.sh' currently 36 min to run!? 11:43$ bash "$d_bin"'blog analysis.sh' ~ 12:19$ +-----+ olde code # # go through file to first comment, danger - same varNames as finn_getComment_pTmp # bolInn=0 # while [[ "$bolInn" == 0 ]] # do # IFS='' read -u 9 line # bolNew=$( echo "$line" | grep ' | @' ) # if [[ -n "$bolNew" ]]; then # bolInn=1 # echo >"$pCmt" "$line" # #echo "pBlog_process 1stCmt, 1stLine: $line" # fi # done # #echo 'done first comment' # #echo '' # finn_getBigCmt_pTmp() - gets only lines of comment after 1st finn_getBigCmt_pTmp() { bolInn=1 while [[ "$bolInn" == 1 ]]; do read -u 9 line bolNew=$( echo "$line" | grep ' | @' ) if [[ -n "$bolNew" ]]; then bolInn=0 strNew="$line" else echo >>"$pCmt" "$line" fi done } # finn_getKeyCmt_pTmp() - gets only lines of comment after 1st finn_getKeyCmt_pTmp() { bolInn=1 while [[ "$bolInn" == 1 ]]; do read -u 9 line bolNew=$( echo "$line" | grep "^#] " ) if [[ -n "$bolNew" ]]; then bolInn=0 strNew="$line" else echo >>"$pCmt" "$line" fi done } 08********08 #] 12Oct2024 create pWebPage_singleUpload_online in "$d_PROJECTS"'bin - secure/webUpload library.sh' after huge effort, upload worked http://www.BillHowell.ca/ProjMajor/History/Jacobovici, Exodus plagues/Jacobovici 17Nov2018 Exodus proofs, transcript.html >> it worked! #08********08 #] 11Oct2024 write my own bash script for blog comment analysis [long, good [comment, author], thread]s long comments : just write a script? nyet In the end, I simply bought youTubeCommentsDownloader by Bartek Igielski #08********08 #] 11Oct2024 search 'Google genesis and how do I analyze comments in youTube?' I didn't find anlything by Google. openAI chatGPT has a feature, linked by youTubeCommentsDownloader by Bartek Igielski search 'OpenAI chatGPT and how do I analyze comments in youTube?' >> now I can't find it FireFox browse history got URL +--+ https://chatgpt.com/g/g-kDiRb035C-comments-analyzer Comments Analyzer By youtubecommentsdownloader.com Analyze youtube comments in seconds get trend analysis, sentiment check, valuable feedback or product discussions. Great tool for social media managers, researchers and analysts. >> I tried to upload blog txt file, no luck >> may have to upgrade (pay $) for chatGPT+ #08********08 #] 11Oct2024 search 'youTube and how do I download all comments for a video?' https://youtubecommentsdownloader.com/ +-----+ Adapt open source? : https://medium.com/this-code/how-to-make-a-youtube-video-comments-dataset-with-the-googles-python-api-34cf32a14d16 How to make a YouTube Video Comments Dataset with Google’s Python API Utilise the API to generate your own CSV file of comments and replies received on videos. Yash Prakash Jan 26, 2021 +-----+ https://www.youtube.com/watch?v=Ohlu9t1iiek Fast & Easy Way to Download and Export YouTube Comments in Bulk YouTube Comments Downloader 530 views Sep 7, 2023 Looking for a fast and easy way to export and download YouTube comments in bulk? You've found the right tool! >> youTubeCommentsDownloader by Bartek Igielski Our YouTube Comments Downloader lets you bypass the endless scrolling and download over 10,000 comments in just 2 minutes. Just copy and paste the video URL, and our app does the rest. Choose your preferred export format - HTML, JSON, or CSV, and get all comments in a single file, right on your device. Perfect for data analysis, sentiment analysis, or just for keeping a record of the comments. Whether you're a researcher, marketer, or a curious YouTuber, our tool makes the process of exporting and downloading YouTube comments a breeze. Try it today and experience the easiest and fastest way to export comments from YouTube. Visit our website: https://youtubecommentsdownloader.com/ # enddoc