Skip to content

Instantly share code, notes, and snippets.

@rmanly
Last active December 16, 2015 03:49
Show Gist options
  • Save rmanly/5372872 to your computer and use it in GitHub Desktop.
Save rmanly/5372872 to your computer and use it in GitHub Desktop.
Script for mac-e mailing list to remove ' 2' from end of all filenames. EDIT: to remove extra asterisk from find command
#!/bin/bash
while read -r -d $'\0' file; do
mv "${file}" "${file% *}"
done < <(find . -iname "* 2" -print0)
# here is what it looks lik on the command line
$ touch file{1..10}' 2'
$ touch otherfiles{1..10}
$ ls
file1 2 file2 2 file4 2 file6 2 file8 2 otherfiles1 otherfiles2 otherfiles4 otherfiles6 otherfiles8
file10 2 file3 2 file5 2 file7 2 file9 2 otherfiles10 otherfiles3 otherfiles5 otherfiles7 otherfiles9
$ ls -l
total 0
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file1 2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file10 2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file2 2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file3 2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file4 2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file5 2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file6 2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file7 2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file8 2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file9 2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles1
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles10
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles3
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles4
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles5
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles6
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles7
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles8
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles9
$ while read -r -d $'\0' file; do
> mv "${file}" "${file% *}"
> done < <(find . -name "* 2" -print0)
$ ls -l
total 0
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file1
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file10
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file3
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file4
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file5
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file6
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file7
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file8
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 file9
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles1
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles10
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles2
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles3
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles4
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles5
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles6
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles7
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles8
-rw-r--r-- 1 ryan staff 0 Apr 12 10:23 otherfiles9
$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment