To: alayne [ at ] twobikes [ dot ] ottawa [ dot ] on [ dot ] ca
Subject: [OCLUG-Tech] stupid bash question
In-Reply-To: <alpine [ dot ] DEB [ dot ] 2 [ dot ] 00 [ dot ] 0903141614170 [ dot ] 13453 [ at ] bent [ dot ] twobikes [ dot ] ottawa [ dot ] on [ dot ] ca>
References: <alpine [ dot ] DEB [ dot ] 2 [ dot ] 00 [ dot ] 0903141614170 [ dot ] 13453 [ at ] bent [ dot ] twobikes [ dot ] ottawa [ dot ] on [ dot ] ca>
X-Mailer: VM 8.0.9 under Emacs 22.2.1 (i486-pc-linux-gnu)
FCC: ~/Mail/outgoing
--text follows this line--
alayne [ at ] twobikes [ dot ] ottawa [ dot ] on [ dot ] ca writes:
| I have two directories which are mostly the same. I need to compare the
| files in them (using cmp) to confirm this.
|
| Unfortunately, some of the files (which Other People created, not me) have
| blanks in the filenames.
|
| I thought I could just go
|
| for i in `cat ListOfFiles`
| do
| cmp $i $OtherDirectory/$i
| done
|
| but it fails on all files with blanks in them.
|
| If I edit ListOfFiles to put \ (or \\) before the blanks, that doesn't
| work any better (although that worls on an ordinary command line.
| Neither does putting "" around the filenames in the cmp.
|
| Does anyone have any better suggestions? I'm obviously missing something.
Hi Alayne,
How about this?
rsync -n --delete -av $thisdir $otherdir
Without the '-n' it would make the directories the same.
With the '-n' it will just tell you which files would be copied, the
ones that are different.
However, it might be noisy if ListOfFiles is a small subset of the
rest of the directory.
roland