Se non ti interessano gli spazi nella data:
$ find . -ls | tr -s ' ' ,
Se ti interessano questi spazi:
$ find . -ls | awk '{printf( "%s,%s,%s,%s,%s,%s,%s,%s %s %s,%s\n", $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11 )}'
Nessuno di questi funzionerà se i nomi dei file contengono spazi bianchi. Come trucco per gestire gli spazi nel nome del file, potresti provare:
... | sed 's/,/ /8g'
per eliminare tutto tranne le prime 8 virgole (supponendo che il tuo sed
supporta il 8g
non standard come fa gnu sed). Ovviamente questo non si occuperà delle virgole nel nome del file.
È un po' lungo da digitare nella riga di comando, ma conserva correttamente gli spazi nel nome del file (e lo cita anche!)
find . -ls | python -c '
import sys
for line in sys.stdin:
r = line.strip("\n").split(None, 10)
fn = r.pop()
print ",".join(r) + ",\"" + fn.replace("\"", "\"\"") + "\""
'