Rekursives Ersetzen

L

Lorzi

Grünschnabel
Hallo!

Ich benutze zum Suchen und Ersetzen bisher
Code:
sed -i '' 's/AAAA/BBBB/' /Users/Name/Testordner/*.tex
im Terminal vom Mac um AAAA durch BBBB im angegeben Verzeichnis in allen tex-Dateien zu ersetzen.

Ich hätte nun zwei Fragen:
- Wie kann diese Ersetzungen ausweiten auf die Unterverzeichnisse? Mit
Code:
sed -i '' 's/AAAA/BBBB/' -name *.tex
funktioniert es leider nicht:-(
- Wie muss man den Code schreiben, damit er auch im Terminal unter Ubuntu funktioniert?
 
Moin,

Code:
find . -name *.tex -exec sed -i 's/AAAA/BBBB/' "{}" \;

sed -i brauch keine ''

Code:
# -i.bak um Backup-Dateien zu erstellen
# "{}" im find um Dateien mit " " zu finden
#
headcrash@wsl:~/__tmp/testdir$ find . -name *.tex -exec sed -i.bak 's/AAAA/BBBB/' "{}" \;
headcrash@wsl:~/__tmp/testdir$ ll **
t1:
total 0
drwxrwxrwx 1 headcrash headcrash 512 Mar 16 11:32  ./
drwxrwxrwx 1 headcrash headcrash 512 Mar 16 11:30  ../
-rwxrwxrwx 1 headcrash headcrash   5 Mar 16 11:32 'testfile 1.tex'*
-rwxrwxrwx 1 headcrash headcrash   5 Mar 16 11:31 'testfile 1.tex.bak'*
-rwxrwxrwx 1 headcrash headcrash   5 Mar 16 11:32  testfile2.tex*
-rwxrwxrwx 1 headcrash headcrash   5 Mar 16 11:31  testfile2.tex.bak*

t2:
total 0
drwxrwxrwx 1 headcrash headcrash 512 Mar 16 11:32  ./
drwxrwxrwx 1 headcrash headcrash 512 Mar 16 11:30  ../
-rwxrwxrwx 1 headcrash headcrash   5 Mar 16 11:32 'testfile 1.tex'*
-rwxrwxrwx 1 headcrash headcrash   5 Mar 16 11:32 'testfile 1.tex.bak'*
-rwxrwxrwx 1 headcrash headcrash   5 Mar 16 11:32  testfile2.tex*
-rwxrwxrwx 1 headcrash headcrash   5 Mar 16 11:32  testfile2.tex.bak*
headcrash@wsl:~/__tmp/testdir$ cat t1/testfile\ 1.tex
BBBB
headcrash@wsl:~/__tmp/testdir$ cat t1/testfile2.tex
BBBB
headcrash@wsl:~/__tmp/testdir$ cat t1/testfile2.tex.bak
AAAA
headcrash@wsl:~/__tmp/testdir$ cat t1/testfile\ 1.tex.bak
AAAA

mfg
HeadCrash
 

Ähnliche Themen

Samba 3.6.25 - OpenLDAP Setup

Suchen und Ersetzen mit regulärem Ausdruck

Keine grafische Oberfläche (Debian Installation)

Samba Dateien und Ordner verschieben

diff in Bezug zu sed setzen

Zurück
Oben