반면:
폴더 구조는 다음과 같습니다( file.txt
심볼릭 링크가 아닌 각 디렉터리의 일반 텍스트 파일).
/basedir/A/file.txt
/basedir/B/file.txt
/basedir/C/file.txt
위치 :file.txt
/mydir
/mydir/file.txt
다음에서 실행할 수 있는 명령이 필요합니다 /basedir
.
- 재귀적으로 모두 찾기
/file.txt
(.A/
,./B
및./C
) file.txt
찾은 파일 삭제- 심볼릭 링크 생성
/mydir/file.txt
단일 bash 명령으로 수행할 수 있습니까?
감사합니다!
답변1
이렇게 하면 됩니다:
find /basedir -type f -name file.txt -exec ln -sf /mydir/file.txt '{}' \;
file.txt
이 명령은 아래 이름의 모든 파일을 찾아 /basedir
각 파일에서 실행되며 ()를 에 대한 심볼릭 링크( ) 로 ln
바꿉니다 .-f
-s
/mydir/file.txt