Hi Asher,
Asher Kelman said:
Sean,
That's helpful. I should be more comfortable getting into command line solutions.
You can find a reasonable looking introduction at:
http://www.macdevcenter.com/pub/ct/51
Start at the bottom and work up. I would start with:
http://www.macdevcenter.com/pub/a/mac/2001/12/14/terminal_one.html
Asher Kelman said:
at least I will work with that.
The command line can be daunting at first, but it is how I learned to use computers to do things. There are things I can do so much faster with a command line than GUI tools and vice versa. But with OS X one can always fall back onto the command line which is a real plus over earlier Mac OS versions. Although there was once a Mac based Unix out there prior to OS X.
Myself, once I had the Cygwin *nix tools on Windows I was happy as I had the tools I needed when I needed them and a reasonable GUI the rest of the time.
Asher Kelman said:
However, I need to refresh on hash, bash and other like tweerms!
First, I should note that
bash (
GNU Bourne Again Shell) is a modern variant of the classic Unix
Bourne Shell (sh). And when I use a
fixed width font with
bash> I am simply denoting a command line prompt. All
fixed width text should be considered to exist with in a terminal/shell window. This fixed width text convention is very common.
By
hash I refer to a
cryptographic hash function,
checksum, or a
cyclic redundancy check (CRC) which refers to a function which takes an input string and outputs a fixed length random looking string that is unique for every input and should be greatly dissimilar for nearly identical inputs (i.e., differing by exactly one bit).
For instance, consider two text files containinging the alphabet.
a.txt
abcdefghijklmnopqrstuvwxyz
and
b.txt
aBcdefghijklmnopqrstuvwxyz
The two files differ almost trivially with the letter 'b' capitolized in the second.
Now noting that the output of the
SHA-1 hash algorithm is a 160-bit number which is represented by a 40 digit string of
hexadecimal characters.
bash> sha1sum a.txt b.txt
8c723a0fa70b111017b4a6f06afe1c0dbcec14e3 *a.txt
fcee15a6afb615e50c6eecce0447cc7047cc9178 *b.txt
The hash value is on the left in the output followed by a space, an asterisk, and then the filename and a newline.
Note how greatly the value generated by the sha1sum command varies between two almost identical files. This variance makes the uses of hash values reasonably reliable to verify two files differ. It is not quite as reliable as a direct comparison, but I am not sure what the
diff command actually does so I recommend double checking it as these are photos and not mp3s once can rip again from their CD collection we are talking about.
I should also note that some command line implementations of bash may have limits on how many files in an arguement list they can handle and may fail on thousands of files. In this case one can use wildcards in the
ls statement to limit the list. i.e.,
ls 20060825_*, then
ls 20060826_*, and etcetera assuming you rename your files by date using
big endian dates (YYYYMMDD->Year Month Day) to ensure alphabetical sorts also sort temporally.
Asher Kelman said:
Or else, we need ready to use software front ends that hide the real work, but are user friendly.
That is what I use on XP. But I do not know of any to recommend for OS X or *nix systems and hence falling back to command line.
Asher Kelman said:
Probably, I can do it in command line in OSX.
You can do it. It is not hard once you get some of the basics down. But it is also not necessarily something a photographer should spend their time learning unless they enjoy tinkering with computers. But it is also our safety net to get work done on computers.
enjoy,
Sean