From ac1654e0efcd5b98bd22008f03044b714bbd3bf0 Mon Sep 17 00:00:00 2001 From: Maks Snegov Date: Sun, 10 Nov 2024 09:38:10 -0800 Subject: [PATCH] create-hardlink-dirs: move from dumpster repo --- create-hardlink-dirs.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 create-hardlink-dirs.sh diff --git a/create-hardlink-dirs.sh b/create-hardlink-dirs.sh new file mode 100755 index 0000000..0b5abb6 --- /dev/null +++ b/create-hardlink-dirs.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# Check if the correct number of arguments are provided +if [ "$#" -ne 2 ]; then + echo "Usage: $0 " + exit 1 +fi + +src_dir="$1" +dst_dir="$2" + +# Check if source directory exists +if [ ! -d "$src_dir" ]; then + echo "Source directory '$src_dir' not found." + exit 1 +fi + +# Check if destination directory exists, if not, create it +if [ ! -d "$dst_dir" ]; then + mkdir -p "$dst_dir" +fi + +# Iterate over files in source directory +for file in "$src_dir"/*; do + # Check if the file is a regular file + if [ -f "$file" ]; then + # Check if destination file already exists + if [ -f "$dst_dir/$(basename "$file")" ]; then + echo "File $(basename "$file") already exists in destination directory." + continue + fi + # Extract file name without path + filename=$(basename "$file") + # Create hardlink in destination directory + ln "$file" "$dst_dir/$filename" + echo "Created hardlink for $filename" + fi +done + +echo "Hardlink creation completed."