리눅스 find -exec 여러 명령어 실행

1 개요[ | ]

리눅스 find -exec 여러 명령어 실행
find . -name '파일명검색어' -exec sh -c "명령어1; 명령어2; 명령어3;" \;

2 예시 1[ | ]

find로 조건에 맞는 파일목록을 추출하여 1) 압축하고, 2) 원본을 삭제하는 예시

[root@zetawiki test]# ll
total 20
-rw-r--r-- 1 root root 7875 Jun 15 20:45 1.txt
-rw-r--r-- 1 root root 9450 Jun 15 20:45 2.txt
[root@zetawiki test]# find . -name '*.txt' -exec sh -c "tar cjvf {}.bz2 {}; rm -f {};" \;
./2.txt
./1.txt
[root@zetawiki test]# ll
total 8
-rw-r--r-- 1 root root 1189 Jun 15 20:51 1.txt.bz2
-rw-r--r-- 1 root root 1193 Jun 15 20:51 2.txt.bz2

3 예시 2[ | ]

find로 조건에 맞는 파일목록을 추출하여 1) 파일명을 출력하고, 2) 파일내용을 base64인코딩하여 보여주는 예시

[root@zetawiki test]# ll
-rw-r--r-- 1 root root 6 Apr  2 02:11 a.txt
-rw-r--r-- 1 root root 6 Apr  2 02:11 b.txt
[root@zetawiki test]# find ?.txt -exec sh -c "echo -n {} ::::\ ; base64 {} -w0; echo" \;
a.txt :::: aGVsbG8K
b.txt :::: d29ybGQK

4 같이 보기[ | ]

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}