Làm cách nào để lặp lại tất cả các dòng đầu ra bằng lệnh bằng cách sử dụng zsh, mà không cần thiết lập IFS?Làm cách nào để lặp lại tất cả các dòng đầu ra bằng một lệnh trong zsh?
Lý do là tôi muốn chạy lệnh chống lại mọi đầu ra tệp bằng lệnh và một số tệp này chứa dấu cách.
Ví dụ, với các tập tin bị xóa:
foo/bar baz/gamma
Nghĩa là, một thư mục duy nhất 'foo', có chứa một thư mục phụ 'bar baz', có chứa một tập tin 'gamma.
Sau đó chạy:
git ls-files --deleted | xargs ls
sẽ báo cáo trong đó tập tin được xử lý như hai tập tin: 'foo/bar', và '/ baz/gamma.
Tôi cần nó để xử lý nó như một tệp: 'foo/bar baz/gamma'.
Hệ thống của bạn có lệnh xarg không? – lunixbochs
@lunixboches: Có, tuy nhiên, nó vẫn không xử lý được các dòng đúng cách. – Arafangion
'git ls-files -z | xargs -0 ls' sẽ sử dụng dấu phân tách rỗng (\ 0) thay vì khoảng trống – lunixbochs