Tìm kiếm một cách để gọi nhiều hơn một lệnh trong xargs one-liner, tôi đã tìm thấy đề xuất trong findutils để gọi shell từ xargs như thế này:
$ find ... | xargs sh -c 'command $@'
Điều buồn cười là, nếu tôi sử dụng xargs như thế, vì một số lý do, nó bỏ qua đối số đầu tiên:
$ seq 10 | xargs bash -c 'echo $@'
2 3 4 5 6 7 8 9 10
$ seq 10 | xargs -n2 bash -c 'echo $@'
2
4
6
8
10
Có gì đó không ổn với phiên bản shell hoặc xargs của tôi? Là tài liệu đó không chính xác?
Sử dụng xargs (GNU findutils) 4.4.2 và GNU bash, phiên bản 4.3.11 (1) -release .
move
vào cuối ví dụ! Tôi nên đọc kỹ hơn ... Cảm ơn bạn! =)