awk 예제
xargs는 리눅스에서 파이프라인 이전 단계를 standard input으로 하여 다음 명령을 실행하는 기능을 한다.
$N으로 input이 들어온다.
echo a | xargs bash -c 'echo $0' # $0은 첫번째 input
# a
echo a b | xargs bash -c 'echo $0 $1' # $1은 두번째 input
# a b
txt 파일을 1줄씩 xargs의 input으로 넣어 명령을 실행하려면, -L 1
을 쓴다.
ls > ls.txt # ls.txt를 만들어
cat ls.txt | xargs -L 1 bash -c 'echo $0' # ls.txt # ls.txt를 1줄씩 echo로 출력한다
# Applications
# Desktop
# Documents
# Downloads
# Library
# Movies
# Music
# OneDrive
# Pictures
# Public
# build
# dev
# file-of-keys
# ls.txt
xargs가 실행하는 명령에 변수를 넣고 싶다면
test=test # 변수 test 설정
echo 1 | xargs -P8 -n1000 bash -c 'echo $0 '$test''
# 1 test
그 외
-P8 이 뭐냐면, 이 명령을 처리하는 데 프로세스 8개를 돌리겠다는 것
-n1000 이 뭐냐면, standard input에서 각 명령의 실행을 위해 최대 1000개의 argument를 받을 것
참고
매뉴얼: https://man7.org/linux/man-pages/man1/xargs.1.html
유용한 예제: https://shapeshed.com/unix-xargs/ https://phoenixnap.com/kb/xargs-command https://www.thegeekstuff.com/2013/12/xargs-examples/
20211026
Leave a comment