Sử dụng option -I với xargs

Với option -I thì bạn có thể sử dụng place holder với biến được lấy ra từ xargs

man của option này:

   -I replace-str
          Replace  occurrences  of replace-str in the initial-arguments with names read from standard input.  Also, unquoted blanks do not terminate input items; instead the separator is the newline character.  Implies -x and -L 1.

Cách dùng

 find . -type d -name "*log*" | xargs -I {} sh -c "echo {};ls -la {} | tail -2"

Sau cụm -I {} thì tất cả những chỗ đằng sau có {} thì sẽ được replace bằng biến lấy từ find

Vậy nếu với multiple argument thì sao?? Khi đó bạn có thể sử dụng $i với i là số thứ tự của biến

Ví dụ

echo argument1 argument2 argument3 | xargs -l bash -c 'echo this is first:$0 second:$1 third:$2' | xargs

LinhPT 11-05-2016