Arahan penggantian Linux: 1. Gunakan arahan ":s/original content/replacement content/" dalam vim untuk menggantikan kandungan 2. Gunakan sed dengan grep untuk menggantikan kandungan; name nama fail |. xargs perl -pi -e 's|Kandungan asal|Kandungan gantian|g'" arahan menggantikan kandungan.
Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.
1 Ganti melalui editor vim
Anda boleh menggunakan perintah :s dalam vi/vim untuk menggantikan. rentetan .
:s/well/good/ Gantikan telaga pertama dalam talian semasa dengan baik
:s/well/good/g Gantikan semua telaga dalam talian semasa dengan baik
: n,$s/well/good/ Gantikan telaga pertama dalam setiap baris dari baris ke ke baris terakhir dengan baik
:n,$s/well/good/g Gantikan baris ke-n kepada Semua telaga dalam setiap baris dalam baris terakhir adalah baik n ialah nombor, jika n ialah ., ia bermakna dari permulaan baris semasa hingga baris terakhir
:%s/well/good/ ( bersamaan dengan: g/well/s/ /good/) Gantikan telaga pertama dalam setiap baris dengan baik
:%s/well/good/g (bersamaan dengan: g/well/s//good/ g) Gantikan semua telaga dalam setiap baris Untuk kebaikan, anda boleh menggunakan # sebagai pemisah, dan / yang muncul di tengah tidak akan digunakan sebagai pemisah
:s#well/#good/# Gantikan pertama dengan baik/ dalam baris semasa dengan baik/
:%s#/usr/bin#/bin#g Anda boleh menggantikan semua laluan /usr/bin dalam fail dengan /bin
2. Bekerjasama dengan sed dan grep
sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./`
Fungsi: Gantikan rentetan yyyy dalam semua fail txt dalam direktori semasa (termasuk subdirektori) dengan rentetan xxxx. Antaranya,
-i menunjukkan bahawa fail sedang dikendalikan, dan arahan grep yang disertakan dalam `` menunjukkan bahawa hasil arahan grep digunakan sebagai fail pengendalian.
s/yyyy/xxxx/ bermaksud mencari yyyy dan menggantikannya dengan xxxx, diikuti dengan g bermakna apabila terdapat berbilang yyyy dalam satu baris, gantikan semuanya dan bukannya hanya menggantikan yang pertama
Selain itu, jika anda tidak perlu mencari subdirektori dan hanya perlu menggantikan dalam direktori semasa, hanya gunakan arahan sed Perintahnya adalah seperti berikut: sed -i s/xxxx/yyyy/g ./*.txt
3.cari Command cari dan ganti
find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'
#Cari dan ganti rentetan yang terkandung dalam direktori semasa dan gantikan
find -name ' *.txt' |. xargs perl -pi -e ' s|Kandungan yang digantikan|g' #Carian dan penggantian berulang
cari -e 's|Kandungan yang diganti|Kandungan yang diganti|. g'
Cadangan berkaitan: "Tutorial Video Linux"
Atas ialah kandungan terperinci Apakah arahan penggantian linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!