Lihat ini:http://www.cyberciti.biz/faq/unix-linux-replace-string-words-in-many-files/
cd /var/www
sed -i 's/privelages/privileges/g' *
Saya biasanya menggunakan skrip pendek ini, yang akan mengganti nama string di semua file dan semua nama direktori dan nama file. Untuk menggunakannya, Anda dapat menyalin teks di bawah ini ke dalam file bernama replace_string
, jalankan sudo chmod u+x replace_string
lalu pindahkan ke sudo mv replace_string /usr/local/bin
Anda folder untuk dapat menjalankannya di direktori mana pun.
CATATAN:ini hanya berfungsi di linux (diuji di ubuntu), dan gagal di MacOS. Hati-hati juga dengan ini karena dapat mengacaukan hal-hal seperti file git. Saya juga belum mengujinya pada binari.
#!/usr/bin/env bash
# This will replace all instances of a string in folder names, filenames,
# and within files. Sometimes you have to run it twice, if directory names change.
# Example usage:
# replace_string apple banana
echo $1
echo $2
find ./ -type f -exec sed -i -e "s/$1/$2/g" {} \; # rename within files
find ./ -type d -exec rename "s/$1/$2/g" {} \; # rename directories
find ./ -type f -exec rename "s/$1/$2/g" {} \; # rename files
Variasi yang memperhitungkan subdirektori akun (belum diuji):
find /var/www -type f -exec sed -i 's/privelages/privileges/g' {} \;
Ini akan find
semua file (bukan direktori, ditentukan oleh -type f
) di bawah /var/www
, dan lakukan sed
perintah untuk mengganti "privelages" dengan "privileges" pada setiap file yang ditemukan.