[+] bash - zamiana tekstu

Potrzebujesz pomocy z C, C++, perl, python, itp.
marmot
Posty: 22
Rejestracja: 13 kwietnia 2008, 11:08

[+] bash - zamiana tekstu

Post autor: marmot »

Witam,
panowie i panie mam pytanie jak zrobić pewną operację.
Mam przykładowo 44 pliki txt, z zwartością tekstową.

Potrzebuję w tych wszystkich plikach zamienić np. słowo pies na kot. Jak wykonać taką operację w terminalu i jakimi poleceniami? Czy trzeba będzie pisać skrypt w bashu?
Awatar użytkownika
Inquistor
Beginner
Posty: 122
Rejestracja: 25 września 2007, 20:48

Post autor: Inquistor »

Kod: Zaznacz cały

for i in *.txt; do sed -i -e s/pies/kot/g $i; done
Ta linijka zamienia we wszystkich plikach .txt słowo pies na kot.

pętla for
sed
genobis
Beginner
Posty: 353
Rejestracja: 21 lipca 2008, 21:59
Lokalizacja: Trzebinia

Post autor: genobis »

Takie operacje można robić za pomocą sed. Najprościej napisać skrypt.

Poniżej gotowiec (skrypt, mniej więcej taki jakiego potrzebujesz, też tam jest):
http://www.brunolinux.com/02-The_Termin ... h_Sed.html
marmot
Posty: 22
Rejestracja: 13 kwietnia 2008, 11:08

Post autor: marmot »

Dziękuję!
maci4
Posty: 5
Rejestracja: 04 maja 2008, 17:52

Post autor: maci4 »

Witam, a co jeśli zamiast ,,kot'', ,,pies'' muszę zamienić to:

Kod: Zaznacz cały

// The following assigns all _common_ variables that may be used at any point in a template.
		$template->assign_vars(array(
na to:

Kod: Zaznacz cały

// The following assigns all _common_ variables that may be used at any point in a template.
		$template->assign_vars(array( 'U_SHOUT'		=> append_sid("{$phpbb_root_path}js.$phpEx"),
		'U_SHOUT_STATIC'	=> append_sid("{$phpbb_root_path}static.js"), 
Proszę zauważyć że jest tu dużo cudzysłowów itp. Mam kilkadziesiąt styli phpbb3 i w nich muszę pozmieniać parę linijek.
Mógłbym prosić o, jak się da, konkretne kody albo chociaż informację gdzie mogę to znaleźć. Mam hosting wirtualny ale z dostępem do ssh na Debianie 5.0.
ODPOWIEDZ