Thread die Funktionen opendir, readdir, ... (5 answers)
Opened by kimmy at 2013-11-04 11:44

Linuxer
 2013-11-04 13:47
#171751 #171751
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Wenn es nur eine einmalige Aktion ist, könnte man das auch auf Kommandozeile mit einem Einzeiler bewerkstelligen.

Perldoc:perlrun

Code: (dl )
perl -p -i.orig -e 's/.*<ENCC>.*//' *.xml *.XML


Das nimmt alle Dateien mit Endung ".xml" oder ".XML", und liest sie jeweils zeilenweise ein und führt die benannten Befehle für jede Zeile aus; in diesem Fall eine Substitution für die jeweilige Zeile (in $_).
Mit dem Schalter -i wird diese Aktion "inline" durchgeführt; da wird der Option noch eine Endung .orig mitgegeben haben, wird die originale Datei vorher kopiert und mit der entsprechenden Endung versehen.

Mehr Details zu den Optionen sind der genannten Perldoc zu entnehmen ;-)


Test:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ ll
total 4
-rw-r--r-- 1 linuxer users 21 Nov 4 13:42 a.xml
$ cat a.xml
hallo
du<ENCC>
welt.
$ perl -p -i.orig -e 's/.*<ENCC>.*//' *.xml *.XML
Can't open *.XML: No such file or directory, <> line 3.
$ ll
total 8
-rw-r--r-- 1 linuxer users 13 Nov 4 13:43 a.xml
-rw-r--r-- 1 linuxer users 21 Nov 4 13:42 a.xml.orig
$ cat a.xml
hallo

welt.
$ cat a.xml.orig
hallo
du<ENCC>
welt.
$


Wenn alles wie gewünscht gelaufen ist, kann man beispielsweise die Dateien *.orig löschen....
Wenn nicht, dann kann man die originale eben wiederherstellen.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread die Funktionen opendir, readdir, ...