2011-02-08 11 views

Respuesta

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

sed Añade la cadena <Tab>ok a cada línea, y column formatea la salida muy bien (Puede omitir esto, si no lo necesita).

0

Tenga una mirada en el comando estándar paste. O para cada elemento de lo que find le hará eco manualmente el nombre del archivo y el resultado de una función en ese nombre de archivo.

¿Puede por favor decir lo que finalmente quiere hacer?

1

Usted podría utilizar xargs:

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

canalizarla a través de sed, es una manera:

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

usar algo como esto:

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

Simplemente:

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

No es realmente diferente de mi respuesta, ¿verdad? – histumness

10

tiendo a escribir:

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

Eso podría ser excesiva para algo tan simple, pero se convierte en el Lo más simple que puede hacer si quiere hacer cosas más complicadas con la línea. ¡Y no implica recordar cómo hacer que sed funcione!

6

Con GNU encontrar,

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

Simple y no necesita otra herramienta. +1 – Boldewyn

0
find . -name 'abc*' -exec echo {}' OK' \; | column -t 
Cuestiones relacionadas