예를 들어:
find /usr/share/figlet/ -type f -name "*.flf" | xargs ls -l
-rwxr-xr-x 1 root root 3369 Mar 31 17:54 /usr/share/figlet/Tombstone.flf -rwxr-xr-x 1 root root 7641 Mar 31 17:54 /usr/share/figlet/Train.flf -rwxr-xr-x 1 root root 8336 Mar 31 17:54 /usr/share/figlet/Trek.flf -rwxr-xr-x 1 root root 9363 Mar 31 17:54 /usr/share/figlet/Tubular.flf -rwxr-xr-x 1 root root 15484 Mar 31 17:54 /usr/share/figlet/Univers.flf -rwxr-xr-x 1 root root 6644 Mar 31 17:54 /usr/share/figlet/usaflag.flf
find /usr/share/figlet/ -type f -name "*.flf" | xargs figlet -f
첫 번째 명령은 출력을 생성하지만 두 번째 명령은 출력을 생성하지 않습니다. 그 이유는 무엇입니까?
답변1
나는 대답하려고 노력할 것입니다 :
find /usr/share/figlet/ -type f -name "*.flf" | xargs -n 1 figlet -f
이 실행됩니다하나Figlet 명령과하나파일 이름, 다른 파일 이름을 가진 또 다른 Figlet 명령 등.
예를 들어,
find /usr/share/figlet/ -type f -name "*.flf" | xargs -t ls -l
그리고
find /usr/share/figlet/ -type f -name "*.flf" | xargs -t -n 1 ls -l
(그런데 저는 항상 xargs에 "-r"을 포함시킵니다. 이렇게 하면 xargs가 입력 없이 실행되는 것을 방지할 수 있습니다. 그렇지 않으면 혼란스러운 빈 줄이 표시됩니다.)