본문 바로가기

Linux

xargs

출처 : http://blog.naver.com/siyang6/30047770322

##################### xargs 사용하기 #####################

# ls file* | xargs -t -i cp {} {}.bak

 

file0, file1, .... file10,.... 파일을 file0.bak,.....,file10.bak,..... 파일로 복사한다.

-t 는 xargs를 통해 구성된 명령어를 표준 에러로 출력한다.
-i 스위치는 xargs에 전달된 라인 전체를 뒤에 나오는 명령어의 인자로 사용한다.
디플트로 라인 전체를 의미하는 기호는 {}이다.

 

 

# find -type f -print0 | xargs -0 ls
# cat environ | tr '\0' '\n'

#!/bin/sh
if [ -z "$ALBUM" ]; then
echo 'You must set the ALBUM name first (eg. export ALBUM="Greatest Hits")'
exit 1
fi

for x in *; do
echo -n $x; echo -ne '\000'
echo -n `echo $x | cut -f 1 -d '-'`
echo -n " - $ALBUM - "
echo -n `echo $x | cut -f 2- -d '-'`; echo -ne '\000'
done | xargs -0 -n2 mv


-0은 NULL 문자를 구분자로 사용하라는 의미이고, -n2는 한번 실행할 때마다 
두 개의 인자(NULL 문자로 구분된)를 취해서 mv 명령어에 전달하라는 의미이다.

cut -f 1 -d '-'          ---> '-'를 구분자로 하여 1번째 항을 추출한다.
cut -f 2- -d '-'        --->  '-'를 구분자로 하여 2번재 항부터 끝까지 추출한다.
echo -n                 --->  개행문자를 출력하지 않는다.
echo -e                 ---> 백슬래시(\)를 이용한 확장문자를 사용 가능하게 한다.

######################## end :  xargs 사용하기 ####################

[출처] xargs사용법|작성자 오이씨

'Linux' 카테고리의 다른 글

VI 사용 간략 정리  (0) 2011.04.12
objdump  (0) 2011.02.16
Linux find 명령어 완전 정복 가이드  (1) 2011.01.10
Ctags + VI + Cscope + Taglist 연동 및 간략 사용법  (0) 2010.12.17
두 디렉토리에서 Removed List 뽑아내기  (0) 2010.12.08