목표는 다음과 같은 경우 각 파일을 재귀적으로 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"`