대상 문자열이 없는 모든 파일을 삭제하시겠습니까?

대상 문자열이 없는 모든 파일을 삭제하시겠습니까?

복구된 파일은 /myPhotorec에 저장됩니다.

목표는 다음과 같은 경우 각 파일을 재귀적으로 grep하는 것입니다.아니요"44c9ea3abbd24"라는 문자열이 있습니다.문서 내용(파일 이름 아님) 삭제하세요. 대상은 Python .py 파일이며 파일 복구 이름에 따라 무작위로 이름이 변경됩니다.

이것이 가능하지 않다면 포함된 파일을 /filtered 디렉토리에 복사하시겠습니까?

답변1

find /myPhotorec -type f ! -exec grep -qF '44c9ea3abbd24' {} ';' -print -delete

이것은 디렉토리 안이나 아래에서 모든 일반 파일을 찾고 /myPhotorec, 주어진 문자열(파일 내용에)이 포함되어 있는지 테스트하고, 문자열을 포함하지 않는 각 파일에 대해 경로 이름을 표시하고 제거합니다.

find지원하지 않는 경우 -delete해당 부분을 -exec rm {} +.

각 삭제를 수동으로 확인하려면 -delete로 변경하세요 -ok rm {} ';'.

에 대한 find ... -exec ...:"find"의 -exec 옵션 이해

답변2

나는 이것을하고 싶습니다 :

rm -rf `find /myPhotorec -name "*" | grep  -v "44c9ea3abbd24"`

관련 정보