Credo che su OS X quando usi -i sia richiesta un'estensione per i file di backup . Prova:
sed -i .bak 's/hello/gbye/g' *
Utilizzo di GNU sed
l'estensione è opzionale .
Se usi il -i
opzione è necessario fornire un'estensione per i backup.
Se hai:
File1.txt
File2.cfg
Il comando (notare la mancanza di spazio tra -i
e ''
e il -e
per farlo funzionare su nuove versioni di Mac e su GNU):
sed -i'.original' -e 's/old_link/new_link/g' *
Crea 2 file di backup come:
File1.txt.original
File2.cfg.original
Non esiste un modo portatile per evitare di creare file di backup perché è impossibile trovare una combinazione di comandi sed che funzioni su tutti i casi:
sed -i -e ...
- non funziona su OS X in quanto crea-e
backupsed -i'' -e ...
- non funziona su OS X 10.6 ma funziona su 10.9+sed -i '' -e ...
- non funziona su GNU
Nota Dato che non esiste un comando sed funzionante su tutte le piattaforme, puoi provare a utilizzare un altro comando per ottenere lo stesso risultato.
Ad esempio, perl -i -pe's/old_link/new_link/g' *