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?

Vu Dao Anh Tuan viết 11:39 ngày 01/10/2018

Đây là thư mục play:

*grab popcorn* viết 11:34 ngày 01/10/2018

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

Vu Dao Anh Tuan viết 11:36 ngày 01/10/2018

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ả?

*grab popcorn* viết 11:42 ngày 01/10/2018

Đú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

Bài liên quan
0