Keresse meg a & Szöveg cseréje több dokumentumban a parancssorból

Anonim

Ha kényelmesen kezeli a parancssort, és olyan helyzetben van, amikor egy szót, kifejezést, URL-t vagy karaktert kell keresnie és lecserélnie több szöveges dokumentumból álló csoportban, a perl elég jól ellátja a feladatot. Egy egyszerű parancssor nagyon gyorsan végrehajtja a csoportos kötegelt keresést és cserét a szövegen, akár egyetlen dokumentumban, akár több dokumentumból álló csoporton keresztül.

A parancssorban sok mindenhez hasonlóan nincs megerősítési folyamat, ezért a parancs indítása előtt meg kell győződnie arról, hogy a szintaxis helyesen van beállítva, ellenkező esetben előfordulhat, hogy egy másik keresést és cserét kell végrehajtania. hogy kijavítsuk az elírást.

Az alapvető parancs szintaxisa a következő: perl -pi -w -e 's/THIS/THAT/g;' /útvonal/fájlokhoz.txt

Egy egyszavas példához, ha az „ogre” minden előfordulását „cornbread”-re kell cserélni minden .txt fájlban a „Dokumentumok” mappában, akkor a következő parancsot kell használnia:

perl -pi -w -e 's/ogre/cornbread/g;' ~/Dokumentumok/.txt

Egy egy teljes kifejezés megtalálására és cseréjére vonatkozó példa , tegyük fel, hogy a teljes mondatot lecseréljük: „A csokoládégyár ” a „The Wizard of Oz” elemmel a „Films” kezdetű .txt fájlok egy csoportjában, a Dokumentumok könyvtárban tárolva:

perl -pi -w -e 's/The Chocolate Factory/The Wizard of Oz/g;' ~/Dokumentumok/Filmek.txt

A keresés és a csere azonnal megtörténik. A módosítást a cat és a grep használatával ellenőrizheti:

"

cat ~/Documents/Films124.txt |grep Wizard of Oz"

El kell ismerni, hogy ez meglehetősen fejlett, és igen, a több dokumentumon keresztüli kötegelt keresés és csere felhasználóbarátabb módon elvégezhető a grafikus felhasználói felületeken, például a TextWrangler és a BBEdit segítségével, de néha a parancssor gyorsabb. az ehhez hasonló és más hasonló gyors feladatokhoz, ráadásul a használatához nincs szükség további letöltésekre.

Nagy hüvelykujj a Lifehackernek a kiváló trükkért.

Update: A „sed” parancs egy másik módja a parancssoron keresztüli gyors keresésnek és cserének. A sed leírása többnyire egy másik cikk témája, de a sed használatának alapvető szintaxisa ennél a feladatnál valamivel egyszerűbb, így könnyebben megjegyezhető:

sed -i 's/THIS/THAT/g' /path/to/files.txt

Nincs jó vagy rossz út, így az, hogy perl-t vagy sed-et használsz, személyes preferencia kérdése.

Keresse meg a & Szöveg cseréje több dokumentumban a parancssorból