File tree Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ echo -e " Arguments:
4
+ [0] - Used by Bash (script filename)
5
+ [1] - Base directory
6
+ [2] - Filename type (maximum two values)
7
+ [3] - Ignored files or folders (optional; use " \" " ./<directory_name>" \" " )
8
+ "
9
+
10
+ echo " Changed files:"
11
+
12
+ # Separate $2 value (filename types) if it has a comma
13
+ if [[ " $2 " == * " ," * ]];
14
+ then
15
+ string=" $2 "
16
+
17
+ str_value=${string#* ,}
18
+ str_value2=${string%% ,* }
19
+ else
20
+ str_value=" $2 "
21
+ str_value2=" $2 "
22
+ fi
23
+
24
+ IFS=$' \n '
25
+ for fname in ` find $1 -type f -name " $str_value2 " -o -name " $str_value " `
26
+ do
27
+ ignored_files=" $( echo $3 | tr " ," " \n" ) "
28
+
29
+ str=" ${fname} "
30
+ value=${str%/* } # If the base directory is `.`, check in all directories for the ignored filenames
31
+
32
+ for files in $ignored_files
33
+ do
34
+ if [ " ${fname} " == " $value /$files " ] || [ " $value " == " $files " ];
35
+ then
36
+ continue 2
37
+ fi
38
+ done
39
+
40
+ # echo ${fname}
41
+ new_fname=` echo ${fname} | tr ' ' ' _' `
42
+ # echo " ${new_fname}"
43
+ new_fname=` echo ${new_fname} | tr ' A-Z' ' a-z' `
44
+ # echo " ${new_fname}"
45
+ new_fname=` echo ${new_fname} | tr ' -' ' _' `
46
+ # echo " ${new_fname}"
47
+ if [ ${fname} != ${new_fname} ]
48
+ then
49
+ echo " ${fname} --> ${new_fname} "
50
+ git " mv" " ${fname} " ${new_fname} # Requires you to be in version control
51
+ fi
52
+ done
You can’t perform that action at this time.
0 commit comments