"리눅스 find -exec 여러 명령어 실행"의 두 판 사이의 차이

잔글 (로봇: 자동으로 텍스트 교체 (-<source lang='dos'> +<source lang='cli'>))
 
(사용자 2명의 중간 판 10개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{소문자}}
==개요==
;find exec 여러 명령어 실행
;리눅스 find -exec 여러 명령어 실행


==방법==
<syntaxhighlight lang='bash'>
;명령어 형식
<source lang='bash'>
find . -name '파일명검색어' -exec sh -c "명령어1; 명령어2; 명령어3;" \;
find . -name '파일명검색어' -exec sh -c "명령어1; 명령어2; 명령어3;" \;
</source>
</syntaxhighlight>


;실행예시
==예시 1==
find로 조건에 맞는 파일목록을 추출하여 1) 압축하고, 2) 원본을 삭제하는 예시
find로 조건에 맞는 파일목록을 추출하여 1) 압축하고, 2) 원본을 삭제하는 예시
<source lang='cli'>
<syntaxhighlight lang='console'>
[root@jmnote test]# ll
[root@zetawiki test]# ll
total 20
total 20
-rw-r--r-- 1 root root 7875 Jun 15 20:45 1.txt
-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
-rw-r--r-- 1 root root 9450 Jun 15 20:45 2.txt
</source>
</syntaxhighlight>
<source lang='cli'>
<syntaxhighlight lang='console'>
[root@jmnote test]# find . -name '*.txt' -exec sh -c "tar cjvf {}.bz2 {}; rm -f {};" \;
[root@zetawiki test]# find . -name '*.txt' -exec sh -c "tar cjvf {}.bz2 {}; rm -f {};" \;
./2.txt
./2.txt
./1.txt
./1.txt
</source>
</syntaxhighlight>
<source lang='cli'>
<syntaxhighlight lang='console'>
[root@jmnote test]# ll
[root@zetawiki test]# ll
total 8
total 8
-rw-r--r-- 1 root root 1189 Jun 15 20:51 1.txt.bz2
-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
-rw-r--r-- 1 root root 1193 Jun 15 20:51 2.txt.bz2
</source>
</syntaxhighlight>
 
==예시 2==
find로 조건에 맞는 파일목록을 추출하여 1) 파일명을 출력하고, 2) 파일내용을 base64인코딩하여 보여주는 예시
<syntaxhighlight lang='console'>
[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
</syntaxhighlight>
<syntaxhighlight lang='console'>
[root@zetawiki test]# find ?.txt -exec sh -c "echo -n {} ::::\ ; base64 {} -w0; echo" \;
a.txt :::: aGVsbG8K
b.txt :::: d29ybGQK
</syntaxhighlight>


==같이 보기==
==같이 보기==
*[[리눅스 파일 각각 압축]]
* [[리눅스 sh -c]]
*[[find]]
* [[리눅스 find]]
* [[리눅스 파일 각각 압축]]
* [[리눅스 xargs -exec 여러 명령어 실행]]


==참고 자료==
==참고==
*http://stackoverflow.com/questions/5119946/find-exec-with-multiple-commands
*http://stackoverflow.com/questions/5119946/find-exec-with-multiple-commands


[[분류: 리눅스]]
[[분류: 리눅스]]

2021년 4월 2일 (금) 02:16 기준 최신판

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 }}