출처 : 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 사용하기 ####################
'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 |