dir2と同じファイル名を持つdir1のすべてのファイルを見つけて、dir1から削除したいと思います。
たとえば、
dir1: first.txt second.txt
dir2: third.txt first.txt
dir1
first.txt
だからファイルから削除したいと思います。
Bash端末を使用してこれをどのように達成できますか? (for
ループなどのスクリプトや「fdupes」などのサードパーティプログラムではありません)
ベストアンサー1
スペースを含むファイル名を処理します。
#!/bin/bash
OPWD=$(pwd)
cd "$1"
for MYFILE in "$2"/*
do
if [ -f "${MYFILE##/*/}" ]
then
echo "removing ${MYFILE##/*/}"
rm "${MYFILE##/*/}"
fi
done
cd "$OPWD"