Re: Compare directories without subdirectories
- From: Jonathan Belsewir <JonathanBelsewir yahoo de>
- To: meld-list gnome org
- Subject: Re: Compare directories without subdirectories
- Date: Fri, 10 Aug 2018 18:18:59 +0200
Meanwhile I wrote a script to compare two directories without
subdirectories.
It should run at least with Debian Buster and Bash 4.4.
The script copies the files to temporary directories using symbolic links,
so you can change the original files later.
Example:
mymeld -d . subdir # compare current directory with a subdirectory
mymeld dir1 dir2 # without option "-d", original meld is used
Script mymeld:
#!/bin/bash
if [[ "$1" == "-d" ]]; then
shift
# check args
if (( "$#" != 2 )); then
echo "Usage: $0 -d dir1 dir2"
echo "Compare dir1 with dir2 (without subdirectories)"
exit 1
fi
# make realpaths because of symbolic links
dir1="$(realpath "$1")"
dir2="$(realpath "$2")"
if [[ ! -d "$dir1" ]]; then
echo "ERROR: 1st directory does not exist: $dir1"
exit 1
fi
if [[ ! -d "$dir2" ]]; then
echo "ERROR: 2nd directory does not exist: $dir2"
exit 1
fi
# make temporary directories
tmp0="$(mktemp -d /tmp/wd-XXXXXX)"
tmp1="$tmp0/1.$(basename "$dir1")" # 1 so tmp1 != tmp2
tmp2="$tmp0/2.$(basename "$dir2")" # 2 so tmp1 != tmp2
mkdir "$tmp1"
mkdir "$tmp2"
# copy to temporary directories with symbolic links
find "$dir1" -maxdepth 1 -type f -exec cp -s -- {} "$tmp1" \;
find "$dir2" -maxdepth 1 -type f -exec cp -s -- {} "$tmp2" \;
# meld
(
meld "$tmp1" "$tmp2"
rm -r "$tmp0"
) &
else
meld "$@" &
fi
#done
Best Regards
JB
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]