Danas donosimo vrlo kratki tutorial, koji pokazuje kako možete promijeniti postojeći string u novi, automatski u svim datotekama unutar direktorija, odjednom. Za to ćemo koristiti jednostavnu bash skriptu, a posao će odraditi sed.
Recimo da imate velik broj html datoteka, ili bilo koje druge ekstenzije, unutar direktorija. U datotekama se nalazi string “primjer_1”. Pritom nije bitno nalazi li se taj string u svim datotekama ili samo nekima, te na koliko mjesta ni gdje se nalazi unutar datoteke. Vi želite u svakoj datoteci gdje se nalazi string “primjer_1”, promijeniti ga u novi string, recimo u “primjer_2”.
Skripta kojom to možete uraditi može izgledati ovako:
#!/bin/bash
OLD="primjer_1"
NEW="primjer_2"
mkdir modified
for file in *.html; do
sed "s|$OLD|$NEW|g" "$file" > modified/$file
done
Skriptu jednostavno spremite u .sh datoteku unutar direktorija gdje se nalaze datoteke koje želite editirati. Zatim skriptu pokrenite iz shell prompta. Nove datoteke nalazit će se u direktoriju “modified”. Prije pokretanja skripte, za svaki slučaj, napravite backup cijelog direktorija gdje ju startate.