.png)
상자에 있는 모든 사용자의 Awstats에 대한 특정 구성 파일을 삭제하고 싶습니다. 한 줄로 삭제하는 가장 좋은 방법은 무엇입니까?
모든 파일은 아래에 /home
있으며 다음 구조를 갖습니다.
/home/{username1}/domains/{domain1}/public_html/awstats/.data/awstats.{domain1}.conf
/home/{username1}/domains/{domain2}/public_html/awstats/.data/awstats.{domain2}.conf
/home/{username2}/domains/{domain1}/public_html/awstats/.data/awstats.{domain1}.conf
일부 /home/{username}/domains/
폴더에는 여러 도메인 하위 폴더가 있습니다.
답변1
시도해 보셨나요?
rm /home/*/domains/*/public_html/awstats/.data/awstats.*.conf
?
경고: 이름이 다음과 같은 파일이 있는 경우
/home/phred/domains/sci-fi/public_html/awstats/.data/awstats.fantasy.conf
즉, 두 번 {domain1}
일치하지 않는 경우 위 명령은 해당 항목도 삭제합니다. 그게 문제인가요?
PS 두 번의 일치 항목이 {domain1}
귀하가 요구하는 것인지 또는 제가 누락한 다른 항목이 있는지 확인하지 않는 한, 이 질문은 정규식(정규식)에 관한 것이 아닙니다. *
, ?
, 및 [
(일치하는 경우 )]
호출됩니다.와일드카드.
답변2
/home
다음 명령을 실행 하십시오 .
find . -name 'awstats*conf' | xargs rm
결과를 파이핑하기 전에 자체적으로 xargs
실행하여 find . -name 'awstas*.conf
제거하려는 파일만 나열되는지 확인하십시오. xargs rm
확인한 후에만 파이프하세요 .
위와 같이 사용 하면 find
지정된 정규식과 일치하는 파일을 반복적으로 찾습니다. 자세한 내용은 find 및 xargs에 대한 매뉴얼 페이지를 확인하세요.