Difference between revisions of "Shell"
From Wiki at Neela Nurseries
m |
m (Add helper bash script for use with "git diff-tree") |
||
Line 1: | Line 1: | ||
Shell Scripting | Shell Scripting | ||
+ | == [[#top|^]] OVERVIEW == | ||
+ | |||
+ | This local page for Bash shell scripts and notes on shell scripting. | ||
+ | |||
+ | == [[#top|^]] Rename Badly Named Files == | ||
How to produce a usable filename which contains <ESC> characters, and to rename that badly named file: | How to produce a usable filename which contains <ESC> characters, and to rename that badly named file: | ||
Line 9: | Line 14: | ||
'./'$'\033\033' | './'$'\033\033' | ||
$ mv './'$'\033\033' betterfilename | $ mv './'$'\033\033' betterfilename | ||
+ | |||
+ | <!-- odne komentar --> | ||
+ | <span id="nn_anchor__shell__helper_script_git_diff-tree"></span> | ||
+ | == [[#top|^]] Git Diff-tree Helper Script == | ||
+ | |||
+ | A helper script for calling `git diff-tree`, which can be used to determine at which project commit one or more files have changed: | ||
+ | |||
+ | <pre> | ||
+ | |||
+ | #!/bin/bash | ||
+ | |||
+ | CMD_GIT=/usr/bin/git | ||
+ | |||
+ | $CMD_GIT log --oneline | head | cut -d " " -f 1 | ||
+ | |||
+ | echo "2024-01-31 git diff-tree helper script in progress . . ." | ||
+ | |||
+ | hashes=`$CMD_GIT log --oneline | head | cut -d " " -f 1` | ||
+ | echo "In $PWD found git commit hashes:" | ||
+ | echo " " $hashes | ||
+ | |||
+ | #i=1 | ||
+ | #for hash in $hashes; do echo "("$i")" $hash; (( i++ )); done | ||
+ | |||
+ | #echo "Files changed between commit pairs youngest pairings to oldest: | ||
+ | for hash in $hashes; do echo "Files changed in git commit:"; git diff-tree -r $hash; echo; done | ||
+ | |||
+ | echo "done" | ||
+ | |||
+ | exit 0 | ||
+ | </pre> | ||
+ | |||
+ | <!-- odne komentar --> |
Revision as of 19:19, 31 January 2024
Shell Scripting
^ OVERVIEW
This local page for Bash shell scripts and notes on shell scripting.
^ Rename Badly Named Files
How to produce a usable filename which contains <ESC> characters, and to rename that badly named file:
$ ls -i 9704871 $'\033\033' 9703029 CMakeLists.txt 10899590 dts 9708845 samples $ ls -q `find . -inum 9704871` './'$'\033\033' $ mv './'$'\033\033' betterfilename
^ Git Diff-tree Helper Script
A helper script for calling `git diff-tree`, which can be used to determine at which project commit one or more files have changed:
#!/bin/bash CMD_GIT=/usr/bin/git $CMD_GIT log --oneline | head | cut -d " " -f 1 echo "2024-01-31 git diff-tree helper script in progress . . ." hashes=`$CMD_GIT log --oneline | head | cut -d " " -f 1` echo "In $PWD found git commit hashes:" echo " " $hashes #i=1 #for hash in $hashes; do echo "("$i")" $hash; (( i++ )); done #echo "Files changed between commit pairs youngest pairings to oldest: for hash in $hashes; do echo "Files changed in git commit:"; git diff-tree -r $hash; echo; done echo "done" exit 0