Javascript에서 작동하는 이음새는 있지만 Linux find 명령에는 작동하지 않습니다. 목적은 특정 디렉토리를 제외하고 지난 90 일 동안 업데이트 된 파일 목록을 수집하는 것입니다 (예를 들어, /data/safe/23/test
디렉토리를 포함한다고 가정하고 있지만 /data/safe/23/skip1
이 아님).정규식 오류
find /data/safe -regextype posix-extended -regex '^/data/safe/\d{1,4}/(?:(?!skip1|skip2).*)' -mtime -90
그리고 마지막으로이되는 오류는 다음과 같습니다; 다음은 정규식 여기
^/data/safe/\d{1,4}/(?:(?!skip1|skip2).*)
그리고는 find 명령입니다 (그래도 문제가있을 수 있습니다 내가 POSIX의 확장 된 사용하고주의) 생성 :
find: Invalid preceding regular expression
어떤 도움을 주시면 감사하겠습니다!
하지만, 명령 같으면를 :
어쨌든, 발견과 함께, 같은 것을 사용하는 것이 더 쉽습니다 어떤 이유로 든 실행되지 않습니다 (마치 추가 입력을 기다리고있는 것처럼). 따라서 -regex 표현식 중 하나를 제거하고 실행했지만 원하는 파일을 제외하지 않았습니다./data/safe -regextype posix-extended를 찾아라! -regex '^/data/safe/\ d {1,4}/(skip1 | skip2). *'-mtime -90 – user1413300
@ user1413300 실제로 posix-extended는 "\ d"도 지원하지 않습니다. 그 부분을 "[0-9]"로 대체하십시오 –
그것은 작동합니다! 고맙습니다. – user1413300