사용자 도구

사이트 도구


linux:xargs

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linux:xargs [2019/07/19 09:37]
kwon37xi
linux:xargs [2026/01/09 10:11] (현재)
kwon37xi [옵션 문자열 대체]
줄 22: 줄 22:
 </code> </code>
 ''-I 대체문자열'' 에서 대체 문자열이 옵션으로 대체된다. 즉, ''jcmd 123 VM.version'' 형태로 명령이 바뀐다. ''-I 대체문자열'' 에서 대체 문자열이 옵션으로 대체된다. 즉, ''jcmd 123 VM.version'' 형태로 명령이 바뀐다.
 +
 +===== cat 결과 즉시 실행 =====
 +  * ''cat'' 명령 등으로 터미널에 출력되는 내용을 즉각 [[linux:bash|Bash]] shell 에서 명령으로 실행하기
 +
 +<code sh>
 +# xargs -I 사용
 +cat commands.txt | grep -I "어떤 내용" | xargs -I {} sh -c "{}"
 +
 +# bash pipe
 +cat commands.txt | grep -I "어떤 내용" | bash
 +
 +# $() 사용
 +$(cat script.sh)
 +</code>
  
 ===== 앞선 명령의 결과가 없으면 실행 안함 ===== ===== 앞선 명령의 결과가 없으면 실행 안함 =====
-  * ''--no-run-if-empty'' 옵션을 주면 앞선 명령의 결과가 empty 이면 xargs 뒤의 명령을 실행하지 않는다.+  * ''%%--%%no-run-if-empty'' 옵션을 주면 앞선 명령의 결과가 empty 이면 xargs 뒤의 명령을 실행하지 않는다. 
 + 
 +===== 줄 합치기 ===== 
 +  * ''xargs -n N'' 는 ''N'' 줄 단위로 합친다. 구분자는 공백 
 +  * https://stackoverflow.com/a/25973154/1051402 
 +  * 혹은 ''paste -d' ' - - - -'' : ''-'' 갯수만큼의 줄단위로 합친다. 성능이 더 좋다고한다. 
 +  * clipboard 에 있는 내용 줄 합치기 
 + 
 +<code sh> 
 +#!/bin/sh 
 +# $1 는 합칠 줄 갯수. 기본값 10 
 +JOIN_LINES=$1 
 + 
 +if [ -z "$JOIN_LINES"
 +then 
 +    JOIN_LINES=10 
 +fi 
 + 
 +xclip -o -sel clip | xargs -n$JOIN_LINES \ 
 +| xclip -i -sel clip 
 +</code>
  
 +===== 참조 =====
 +  * [[https://www.youtube.com/watch?v=5EFY5ztZb00|HOW TO USE Xargs!!! | Linux Core Utils - YouTube]]
linux/xargs.1563496667.txt.gz · 마지막으로 수정됨: 2019/07/19 09:37 저자 kwon37xi