-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcfn
More file actions
executable file
·27 lines (25 loc) · 738 Bytes
/
cfn
File metadata and controls
executable file
·27 lines (25 loc) · 738 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh
#
# cfn -- Change FileName
#
# Adds either a prefix or a suffix to files.
#
# Check for at least 3 options: 1 for prefix or suffix, 1 for the actual prefix
# or suffix, and at least one for a file.
if [[ $# -lt 3 ]] || [[ $1 != "--suffix" && $1 != "--prefix" ]]; then
echo Usage: cfn [--suffix] suffix [--prefix] prefix [file1, file2, ...]
exit 1
fi
prefix_or_suffix=$2
files="${@:3}"
for file in $files; do
dirname=$(dirname $file)
basename=$(basename $file)
extension="${basename##*.}"
filename="${basename%.*}"
if [[ $1 = "--prefix" ]]; then
mv $file "$dirname/$prefix_or_suffix$filename.$extension"
else
mv $file "$dirname/$filename$prefix_or_suffix.$extension"
fi
done