Ersetzen Sie eine Zeichenkette in allen Dateien - Unix

Ich versuche, ersetzen Sie eine Zeichenfolge ::: mit :: für alle Zeilen in eine batch-txtfiles (es kann auch als ein Wort, da gibt es immer ein Leerzeichen vor und hinter ihm.

Ich kann es mit python wie unten, aber es ist ein weniger "over-kill' /gewundenen Weg, dies zu tun durch die unix-terminal? (Viele Rohre erlaubt)

indir = "./td/"
outdir =  './od/'
for infile in glob.glob(os.path.join(indir,"*")):
  _,FILENAME = os.path.split()
  for l in codecs.open(infile,'r','utf8').readlines():
    l = l.replace(":::","::").strip()
    outfile = codecs.open(os.path.join(outdir,FILENAME),'a+','utf8')
    print>>outfile, l

Dann Verschiebe ich alle Dateien aus od td mv ./od/* ./td/*

InformationsquelleAutor alvas | 2013-03-05
Schreibe einen Kommentar