출력을 고려하십시오.
% { echo one; echo two; echo three; } | xargs -I{} -L1 echo test-{}
test-{} one
test-{} two
test-{} three
{}
대체 항목이 매뉴얼 페이지(및 내 메모리)를 따르지 않는 이유는 무엇입니까 ?
test-one
, test-two
, 라인을 출력으로 가져오려면 명령줄을 어떻게 변경합니까 test-three
?
답변1
Remove -L 1
; -I
(맨 페이지에 명시된 대로)에 암시되어 있지만 나중에 지정하면 무시됩니다.
답변2
암시적으로 설정되므로 "-L1" 없이도 작동합니다.
{ echo one; echo two; echo three; } | xargs -I{} echo test-{}
test-one
test-two
test-three
답변3
GNU 병렬이 있는 경우http://www.gnu.org/software/parallel/설치 후 다음을 수행할 수 있습니다.
{ echo one; echo two; echo three; } | parallel echo test-{}
다음과 같이 간단하게 GNU Parallel을 설치할 수 있습니다.
wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem
자세히 알아보려면 GNU Parallel 소개 비디오를 시청하세요. https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1