Saya percaya pada OS X saat Anda menggunakan -i ekstensi untuk file cadangan diperlukan . Coba:
sed -i .bak 's/hello/gbye/g' *
Menggunakan GNU sed
ekstensi ini opsional .
Jika Anda menggunakan -i
Anda perlu menyediakan ekstensi untuk cadangan Anda.
Jika Anda memiliki:
File1.txt
File2.cfg
Perintah (perhatikan kurangnya ruang antara -i
dan ''
dan -e
untuk membuatnya berfungsi pada versi baru Mac dan GNU):
sed -i'.original' -e 's/old_link/new_link/g' *
Buat 2 file cadangan seperti:
File1.txt.original
File2.cfg.original
Tidak ada cara portabel untuk menghindari membuat file cadangan karena tidak mungkin menemukan campuran perintah sed yang berfungsi pada semua kasus:
sed -i -e ...
- tidak bekerja pada OS X karena membuat-e
backupsed -i'' -e ...
- tidak berfungsi di OS X 10.6 tetapi berfungsi di 10.9+sed -i '' -e ...
- tidak bekerja di GNU
Catatan Mengingat tidak ada perintah sed yang berfungsi di semua platform, Anda dapat mencoba menggunakan perintah lain untuk mendapatkan hasil yang sama.
Misalnya, perl -i -pe's/old_link/new_link/g' *