awk 예제

less than 1 minute read

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

Tags:

Categories:

Updated:

Leave a comment