• May 13, 2023 •LeifMessinger
0 likes • 8 views
#!/bin/bash # Turns 4 spaces into tabs. # Mostly stolen from AI # Define the directory to process DIRECTORY=$1 TabCount=${2:-'4'} #Defaults to 4 # Check if directory is specified if [ -z "$DIRECTORY" ]; then echo "Error: Directory not specified." exit 1 fi # Check if directory exists if [ ! -d "$DIRECTORY" ]; then echo "Error: Directory does not exist." exit 1 fi # Find all files in directory and subdirectories FILES=$(find "$DIRECTORY" -type f) # Loop through each file and unexpand it for FILE in $FILES; do unexpand -t "$TabCount" "$FILE" > "$FILE.tmp" mv "$FILE.tmp" "$FILE" done echo "Done!"
• Feb 5, 2024 •LeifMessinger
0 likes • 11 views
#!/bin/bash # Recursively find all .svelte files in the current directory and its subdirectories find . -type f -name "*.svelte" -o -name "*.html" -o -name "*.htm" | while read file; do # Replace all h1 tags with the specified format sed -i 's/<h1>\(.*\)<\/h1>/<h1 id="\1">\1<\/h1>/g' "$file" # Replace all h2 tags with the specified format sed -i 's/<h2>\(.*\)<\/h2>/<h2 id="\1">\1<\/h2>/g' "$file" # Remove whitespace from the id attribute value for i in {0..10} ; do sed -i 's/\(id="[^"]*\)\W\([^"]*"\)/\1\2/g' "$file" done done
• Jan 12, 2023 •LeifMessinger
0 likes • 3 views
#!/bin/bash #Originally made by Isaac Cook https://gist.github.com/icook/5400173 #Modified by Leif Messinger #upload_key.sh [server_ip [server2_ip [...]]] #To be run locally on a linux computer if [ -e ~/.ssh/id_rsa.pub ]; then echo "SSH Key already exists on local machine" else echo "Generating SSH key on local machine" ssh-keygen -t rsa #generates id_rsa and id_rsa.pub chmod -R 700 ~/.ssh #Sets permissions of ssh folder ssh-add #Adds keys (and passwords?) to ssh_agent. (hopefully doesn't require password) fi echo "Loading client public key into memory" pubKey=$(<~/.ssh/id_rsa.pub) for server do echo "Adding client public key to $server remote server authorized keys" #Idiot Isaac Cook didn't know about ssh-copy-id #ssh-copy-id even checks if your key already exists #In fairness, I didn't either until researching ssh-add ssh-copy-id -i ~/.ssh/id_rsa.pub $server #In theory, this should prompt for a username #ssh $server "mkdir -p ~/.ssh; #Make the folder if not already made # echo \"$pubKey\" >> ~/.ssh/authorized_keys; #Append your public key to the server's authorized_keys # chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys" #Set the correct permissions of those files #echo "Adding server public key to local authorized keys" #ssh $server "ssh-copy-id -i ~/.ssh/id_rsa.pub \$SSH_CLIENT" #this might need some awk, as $SSH_CLIENT spits out clientip portnumber echo "Displaying server public key" ssh $server "cat ~/.ssh/id_rsa.pub" #Though, he did give me a good idea echo "Displaying keys authorized on $server (you can paste them in your authorized_keys file)" ssh $server "cat ~/.ssh/authorized_keys" #echo "Appending keys authorized on $server to your local authorized_keys" #ssh $server "cat ~/.ssh/authorized_keys" >> ~/.ssh/authorized_keys done echo "SSH keys schronized successfully!"
• Sep 29, 2021 •LeifMessinger
0 likes • 29 views
#!/bin/bash #cpcmd.sh [file1 [file2...]] #Prints out the commands needed to copy the file to your local machine #This will work on any server that also has the same hostname as in your hosts file. #I should update this to detect if a file is a directory, and enable recursion for those commands. If you do it now, it will probably just warn you. if [ -n "$1" ]; then for arg; do recursive=$(if [[ -d $arg ]]; then printf " -r"; fi) printf "scp$recursive \"$(whoami)@$(hostname):" printf `readlink -f $arg` printf "\" .\n" done else echo "scp \"$(whoami)@$(hostname):$PWD/*\" ." fi #-----------EDIT: #On the UNT cell machines, you have to do this script instead ##!/bin/bash #if [ -n "$1" ]; then # for arg; do # recursive=$(if [[ -d $arg ]]; then printf " -r"; fi) # printf "scp$recursive $(whoami)@$(hostname).eng.unt.edu:" # printf `readlink -f $arg` # printf " .\n" # done #else # echo "scp $(whoami)@$(hostname).eng.unt.edu:$PWD/* ." #fi
• Mar 10, 2023 •Helper
1 like • 7 views
#!/bin/bash for branch in $(git branch | cut -c 3-); do read -p "Delete local branch $branch? (y/n) " -n 1 -r echo "" if [[ $REPLY =~ ^[Yy]$ ]]; then git branch -D $branch fi done
• Sep 30, 2021 •LeifMessinger
0 likes • 9 views
touch /tmp/login1.txt /tmp/login2.txt while [ true ] do who | gawk '{ print $1 }' > /tmp/login2.txt comm -13 /tmp/login1.txt /tmp/login2.txt #Just a bit easier to read #diff /tmp/login1.txt /tmp/login2.txt cat /tmp/login2.txt > /tmp/login1.txt sleep 1 done