본문 바로가기

리눅스

[명령어] find 명령어

728x90

find 명령어

생성한 지 30일이 지난 파일 삭제

$ crontab -e
0 2 * * * find /var/spool/clientmqueue -ctime +30 -exec rm -f {} \;
find /app/rsyslog -type f -name '*.log' -mtime +300 -ls

find /app/rsyslog -type f -name '*.log' -mtime +300 -exec rm -f {} \;

생성한 지 180일이 지난 디렉터리(파일) 삭제

$ find /logs -type d -mtime +180 -exec rm -rf {} \;


$ find /logs -type d -mtime +180 -exec rm -rf {} \; > /dev/null 2>&1

파일안에 있는 문자열 찾기

find . -name "*.txt" -type f -print | xargs grep --color=auto -i "aaaaa"

$ find . -type f -print | xargs grep --color=auto -i "aaaaa"                
./ccccc.txt:aaaaa

$ find /home/auser/ -type f -print | xargs grep --color=auto -i "aaaaa"                
/home/auser/ccccc.txt:aaaaa

$ find /home/auser/ -name ccccc.txt -type f -print | xargs grep --color=auto -i "aaaaa"
aaaaa

검색한 문자열 치환(aaaaa -> bbbbb)

find . -name "*.txt" -type f -exec sed -i 's/old/new/g' {} \;

$ cat ccccc.txt 
aaaaa


$ find . -name ccccc.txt -type f -exec sed -i 's/aaaaa/bbbbb/g' {} \;


$ cat ccccc.txt 
bbbbb

 

728x90