Kā terminālu atrast un aizstāt tekstu vairākos failos

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.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   TSH teica

    super

  2.   Skeptiski teica

    Es izmantoju Gedit

    1.    mrlon teica

      gedit par vairākiem failiem ??? kā ???

  3.   ron teica

    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 !

  4.   MelhorHospedagem teica

    Arī es izmantoju Gedit, bet liels paldies

  5.   Eņģelis garsija teica

    Jums trūkst argumenta par exec. Pareizais kods būtu:
    find / home / user / myfolder / -name * .txt -exec sed -i "s / mongo / aurelio / g" {} \;

    Sveiciens 😀

    1.    izmantosim linux teica

      Tev ir taisnība! Paldies!
      Es jau to izlaboju. : =)

  6.   gardo teica

    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.

  7.   Edmundo teica

    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 \;" {} \;

    1.    Edmundo teica

      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" {} \;