• Oct 26, 2021 •LeifMessinger
0 likes • 5 views
#!/bin/bash #Leif Messinger lsm0147 #credit.sh FILES cred="Leif Messinger lsm0147" for bruh; do if [[ $bruh =~ \.cpp|\.c|\.java|\.js ]]; then comment="//$cred" else #Basically everything else gets a pound sign comment #Pound signs are standard across linux. bash, sed, gawk, python etc #Speaking of which, I need to escape it because of that. comment="\#$cred" fi if [ -s $bruh ]; then #If the file has a shebang if egrep -q '^#!/' $bruh; then sed -i "/^\#!\//a$comment" $bruh else sed -i "1i$comment" $bruh fi else echo "$comment" > $bruh fi done
• Aug 7, 2023 •C S
# Three ways of checking if a file exists in a shell script FILE=/etc/resolv.conf if test -f "$FILE"; then echo "$FILE exists." fi if [ -f "$FILE" ]; then echo "$FILE exists." fi if [[ -f "$FILE" ]]; then echo "$FILE exists." fi
• Nov 4, 2023 •LeifMessinger
0 likes • 10 views
#!/bin/bash git status echo "Do you want to add all changed files?" select yn in "Yes" "No"; do case $yn in Yes ) break;; No ) exit 1;; esac done git add -u git status echo "Does this look right?" select yn in "Yes" "No"; do case $yn in Yes ) break;; No ) exit 2;; esac done git commit echo "Do you want to push?" select yn in "Yes" "No"; do case $yn in Yes ) break;; No ) exit 2;; esac done git push
• Nov 23, 2021 •LeifMessinger
0 likes • 8 views
#!/bin/bash #Makes a directory ./monkeys and puts every single bored bored ape yacht club monkey in there #Leif Messinger let OFFSET=0 let BATCHSIZE=50 let LIMIT=100 mkdir monkeys function parseResults(){ sed 'y/,/\n/' | sed -e '/storage.opensea/d' -e '/https:\/\/lh3.googleusercontent.com\/Ju9CkWtV-1Okvf45wo8UctR-M9He2PjILP0oOvxE89AyiPPGtrR3gysu1Zgy0hjd2xKIgjJJtWIc0ybj4Vd7wv8t3pxDGHoJBzDB=s120/d' | egrep '"image_url":"(.*)"' | tr -d '\"' | sed 's/image_url://' } function downloadMonkeys(){ while read -r line; do name=`echo "$line" | sed 's/https:\/\/lh3.googleusercontent.com\///'` wget -q -O "./monkeys/$name.png" "$line" & done } function queryMonkeys(){ let progress=($OFFSET*100)/$LIMIT echo "Progress: $progress%" result=`curl -s --request GET --url "https://api.opensea.io/api/v1/assets?order_direction=desc&offset=$OFFSET&limit=$BATCHSIZE&collection=boredapeyachtclub"` if [[ "$result" =~ "Request was throttled" ]] || [ "$result" == "" ]; then #Retry download sleep 10 else #Download Monkeys echo "$result" | parseResults | downloadMonkeys let OFFSET+=$BATCHSIZE fi #If not out of bounds, recurse if [ "$OFFSET" -lt "$LIMIT" ] || [[ "$result" =~ '"assets":[]' ]]; then queryMonkeys fi } echo "Downloading your monkeys into ./monkeys asynchronously." queryMonkeys
• Oct 2, 2026 •LeifMessinger
0 likes • 4 views
#!/usr/bin/env bash #Also pure vibecoded slop. Never tested. Ever. set -euo pipefail if [ $# -lt 1 ]; then echo "Usage: $0 <python_script.py> [--dryrun]" exit 1 fi TARGET="$1" DRYRUN=false if [[ "${2:-}" == "--dryrun" ]]; then DRYRUN=true fi OUTDIR="clean" CWD="$(pwd)" echo "=== Bash Trace Collector ===" echo "Script: $TARGET" echo "CWD: $CWD" echo "DryRun: $DRYRUN" echo # Run trace TRACE_OUTPUT=$(python -m trace --trackcalls "$TARGET" 2>&1) # Extract .py paths (Windows, Unix, mixed) echo "$TRACE_OUTPUT" \ | grep -Eo '([A-Za-z]:[\\/][^*<>"]+\.py)|(/[A-Za-z0-9._/-]+\.py)|(\.[/\\][^*<>"]+\.py)' \ | sort -u \ | while read -r FILE; do # Normalize slashes FILE="${FILE//\\//}" # Skip frozen modules if [[ "$FILE" == "<frozen"* ]]; then continue fi # Only keep files inside the current working directory if [[ "$FILE" == "$CWD"* ]]; then # Compute relative path REL="${FILE#$CWD/}" DEST="$OUTDIR/$REL" DESTDIR="$(dirname "$DEST")" if $DRYRUN; then echo "[WOULD COPY] $FILE --> $DEST" else mkdir -p "$DESTDIR" echo "[COPYING] $FILE" cp "$FILE" "$DEST" fi else echo "[IGNORED: outside CWD] $FILE" fi done echo echo "=== DONE ===" if $DRYRUN; then echo "Dry run complete. No files were copied." else echo "Files copied to '$OUTDIR' with preserved relative paths." fi
• Feb 22, 2022 •LeifMessinger
0 likes • 2 views
#Leif Messinger #For when you want to search a lot of words in a file fast #Arg 1 is the argument the list of words you want to search #Arg 2 is the file you want to search #-z means that it looks at the file as a whole, just treating newlines a characters. #-r is regex. Needed for $, even tho the documentation says you don't need it. They are liars. #First command replaces all . with \. and all - with \- #Second command takes all newlines and replaces them with )|( #Third command takes the trailing |( and deletes it #Forth command puts a /( at the start #Fith command puts /!d at the end. This tells it to not delete any lines that match the pattern. #The second sed takes the output of the first sed as a command that searches any of the combined words #-f - takes a command from the input sed -z -r -e 's/\./\\\./g ; s/\-/\\\-/g' -e 's/\n/\)\|\(/g' -e 's/\|\($//' -e 'i/\(' -e 'a/!d' $1 | sed -r -f - $2