Setiap kali saya mengetik perintah ini, saya sepertinya selalu menyumbatnya, atau lupa bendera. Saya membuat Gist di github berdasarkan dari jawaban TaylanUB yang menggantikan global find dari direktori saat ini. Ini spesifik untuk Mac OSX.
https://gist.github.com/nateflink/9056302
Sangat menyenangkan karena sekarang saya hanya membuka terminal kemudian menyalin:
curl -s https://gist.github.com/nateflink/9056302/raw/findreplaceosx.sh | bash -s "find-a-url.com" "replace-a-url.com"
Anda bisa mendapatkan beberapa kesalahan urutan byte aneh, jadi di sini adalah kode lengkap:
#!/bin/bash
#By Nate Flink
#Invoke on the terminal like this
#curl -s https://gist.github.com/nateflink/9056302/raw/findreplaceosx.sh | bash -s "find-a-url.com" "replace-a-url.com"
if [ -z "$1" ] || [ -z "$2" ]; then
echo "Usage: ./$0 [find string] [replace string]"
exit 1
fi
FIND=$1
REPLACE=$2
#needed for byte sequence error in ascii to utf conversion on OSX
export LC_CTYPE=C;
export LANG=C;
#sed -i "" is needed by the osx version of sed (instead of sed -i)
find . -type f -exec sed -i "" "s|${FIND}|${REPLACE}|g" {} +
exit 0
apple.stackexchange.com
karena tidak cukup umum untuk linux atau semua pengembang.