![다른 파일의 내용에서 파일 이름 찾기 [닫기]](https://linux55.com/image/154987/%EB%8B%A4%EB%A5%B8%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%82%B4%EC%9A%A9%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%20%EC%B0%BE%EA%B8%B0%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
폴더에 텍스트 파일이 많이 있습니다.
언급된 폴더에 다른 파일 이름이 포함된 파일이 무엇인지 알고 싶습니다.
예: file1의 이름이 폴더1의 다른 파일에 언급되어 있습니까?
folder1
├── folder1.1/
│ ├── file1
│ ├── file2
└── folder1.2/
├── file3
└── folder1.2.1/
└── file4
답변1
find
with를 사용 basename
하여 파일 이름을 가져온 다음 다음을 사용하여 패턴으로 grep에 공급합니다 -f -
.
find . -type f -exec basename -a -- {} + | grep -Ff - -R .
예:
$ tree
.
├── folder2
│ ├── f1
│ ├── folder2a
│ └── folder2b
│ └── f3
└── folder3
├── folder3a
│ └── f2
└── folder3b
6 directories, 3 files
$ find . -type f -exec basename -a -- {} + | grep -Ff- -R .
./folder2/folder2b/f3:f2
./folder3/folder3a/f2:f1