EXPORT_v1x0
으로 시작하고 날짜가 2013-01-25 (2013 년 1 월 25 일) 미만인 파일을 Unix 디렉토리에서 삭제하려고합니다. 파일을 하나씩 삭제할 수 있지만 모든 파일을 삭제하는 데 며칠이 걸릴 것입니다. 특정 패턴의 파일을 삭제하는 더 좋은 방법이 있습니까? 위의 파일을 볼 경우 내가 LS날짜가 특정 날짜보다 작은 비슷한 패턴을 가진 모든 파일을 삭제하십시오.
bash-3.00$ ls /data/bds/real
EXPORT_v1x0_20120811.dat.gz
EXPORT_v1x0_20120811.dat.gz
을 수행 할 때
아래는 샘플 파일이다. 각 파일에는 날짜가 있습니다. 우리가 consideration-
EXPORT_v1x0_20120811.dat.gz
에이 파일을 가정 그것은 날짜 20120811
그래서 내가 EXPORT_v1x0
로 시작하는 모든 파일을 삭제해야하고 그 일 미만인 20130125
입니다. 따라서 날짜가 20130125
미만인 모든 파일을 삭제해야한다면 날짜가 20130125
미만이므로 언급 한 모든 파일이 삭제됩니다.
참고 : - 모든 파일은 위에서 언급 한 것과 정확히 같은 패턴을 가지고 있습니다. 그 뒤에 오는 날짜와 다른 숫자 만 다릅니다.
그래서 EXPORT_v1x0
으로 시작하고 날짜가 20130125
미만인 모든 파일을 삭제하면됩니다.
나는 SunOS
을 실행 중입니다. 나는 유닉스를 더 잘 배우는 과정에있다. 따라서 어떤 높은 수준의 명령과 스크립트도 확실하지 않습니다.
제안에 대해 Fredrik에게 감사드립니다. 파일을 삭제하기 전에 일부 드라이 런을해야한다면 xargs rm을 제거해야합니까? – ferhan
. 'find' 명령은 매우 다양한 기능을 가지고 있습니다. 다른 매개 변수를 사용하면 –
뒤에있는 파일과 정확히 일치하도록 나열된 파일을 좁힐 수 있습니다.이 명령을 사용하면'find. | awk -F'_ ''{if ($ 3 <20121025) print} ''그러면 현재 디렉토리에서 다른 디렉토리의 모든 파일을 인쇄합니다. 나는 현재 디렉토리에서 모든 파일을 삭제할 것이다. 어떤 생각을 바꾸어야할까요? – ferhan