2011-02-08 30 views

Trả lời

11
find . -name 'abc*' | sed 's/$/\tok/' | column -t 

sed gắn thêm chuỗi <Tab>ok với từng ngành nghề, và column định dạng đầu ra độc đáo (bạn chỉ có thể bỏ qua điều này, nếu bạn không cần nó).

0

có một cái nhìn tại paste lệnh chuẩn. Hoặc đối với mỗi thành phần của những gì find sẽ giúp bạn tự động lặp lại tên tệp và kết quả của một hàm trên tên tệp đó.

Bạn có thể cho biết điều cuối cùng bạn muốn làm không?

1

Bạn có thể sử dụng xargs:

find -iname "abc" | xargs -IREPL echo REPL ok 
4

ống nó thông qua sed, là một cách:

| sed -e 's/\(^.*\)/\1 ok/' 
0

Sử dụng một cái gì đó như thế này:

find . -name "abc*" -exec echo "{} - ok" \; 
4

Đơn giản chỉ cần:

$ find . -name 'abc*' | xargs -I {} echo {} OK 
+0

Không thực sự khác biệt so với câu trả lời của tôi, phải không? – histumness

10

Tôi có xu hướng viết:

whatever | while read line; do echo $line ok; done 

Đó có thể là quá mức cần thiết cho một cái gì đó đơn giản này, nhưng nó trở thành điều đơn giản nhất để làm nếu bạn muốn làm những điều phức tạp hơn với dòng. Và nó không liên quan đến việc nhớ làm thế nào để làm cho sed làm việc!

6

Với GNU tìm,

find . -name "abc*" -printf "%f ok\n" 
+0

Đơn giản và không cần công cụ khác. +1 – Boldewyn

0
find . -name 'abc*' -exec echo {}' OK' \; | column -t 
Các vấn đề liên quan