01/10/2018, 09:31
Khác nhau giữa Pipeline và xargs
Cho mình hỏi tại sao dùng pipe line thì lệnh ls lại in hết các file và thư mục (trong thư mục play) còn dùng xargs thì nó chỉ in các file với tên bắt đầu bằng f. Trong trường hợp đầu, mình nghĩ sau khi thực thi lệnh find thì nó tìm được 5 file, sau đó chuyển 5 file này thành input của lệnh ls thì nó phải in ra thông tin của 5 file này thôi chứ, tại sao nó lại giống như dùng lệnh ls lên chính thư mục này vậy?

Bài liên quan
Đây là thư mục play:
Vì lệnh ls không nhận dữ liệu từ stdin mà chỉ thông qua command line argument.
Nên ta phải thông qua lệnh xargs.
http://stackoverflow.com/questions/18210956/unix-pipe-into-ls
vậy là những lệnh không nhận input từ stdin thì mới dùng xargs thôi phải không bạn, còn những lệnh khác thì chỉ cần dùng pipeline là đủ hả?
Đúng rồi bạn, như grep, wc thì bạn có thể dùng bình thường ko cần thông qua xargs