Atrodiet un nomainiet teksts var būt vienkāršs uzdevums, izmantojot teksta redaktori elementārāks. Bet kas notiek, kad jums jādara tas pats uzdevums vairākos failos vienlaikus?
Nu, tur lietas kļūst sarežģītas ... vai arī ne tik daudz. |
Šajā piemērā mēs izmantosim sed, lai aizstātu visus vārda "mongo" gadījumus ar vārdu "aurelio" visos failos, kuru paplašinājums ir .txt un kuri atrodas mapē / home / user / myfolder / map.
find / home / user / myfolder / -name * .txt -exec sed -i "s / mongo / aurelio / g" {} \;
Tik vienkārši ...
Pirms pabeigšanas ir vērts pieminēt, ka daži teksta redaktori ļauj šo darbību veikt, izmantojot grafisko interfeisu. Cita starpā ir vērts izcelt Jedit, Geany, Regexxer utt.
super
Es izmantoju Gedit
gedit par vairākiem failiem ??? kā ???
Kā es varētu ievietot grep starp ai?
Man ir nepieciešams rīkoties šādi: mājās meklēt visus failus, kurus sauc par index.html un kuros ir vārds “XXXXXXX”, un aizstāt to ar “GGGGGGGGGG”, jo to varēja izdarīt tā, lai tas meklētu tikai faili, kuriem faktiski ir virkne?
Liels tev paldies !
Arī es izmantoju Gedit, bet liels paldies
Jums trūkst argumenta par exec. Pareizais kods būtu:
find / home / user / myfolder / -name * .txt -exec sed -i "s / mongo / aurelio / g" {} \;
Sveiciens 😀
Tev ir taisnība! Paldies!
Es jau to izlaboju. : =)
Es tikko izmēģināju šo (kā ROOT):
atrast / usr / share / icons / ACYL-Allgray / -name * .svg -exec sed -i "s / 666666/000000 / g" {} \;
lai mainītu visa ikonu komplekta krāsu. Patiesība ir tāda, ka tā ir ļoti spēcīga komanda, parasti šis uzdevums man būtu prasījis stundas, rediģējot failu pēc faila.
Ievietojiet tekstu vairākos failos atbilstoši rindas numuram, manā gadījumā 2. (2i) rindā, centos linux
atrast / mājas // public_html / res / -nosaukums -exec sed -i "2i \;" {} \;
ne viss kods iznāca, tāpēc es atkārtoti iesniedzu:
atrast / mājas / lietotājs / public_html / res / -nosaukums faila nosaukums.ext -exec sed -i "2i \ teksts ievietošanai" {} \;