Gönner-Abo

Ab CHF 5.– im Monat

👉🏼 Wir benötigen deine Unterstützung! Unterstütze macprime mit einem freiwilligen Gönner-Abo und mache die Zukunft unseres unabhängigen Apple-Mediums aus der Schweiz mit möglich.

macprime unterstützen

Mit Terminal Dateinamen ändern

Profilfoto von Martin Rechsteiner

VonAntwort von Martin Rechsteiner

Guten Tag zusammen

Ich habe eine Frage, ich habe 2 Ordner mit Eingescannten Dateien, die haben in den Abständen der Wörter immer in “” (zB. “13.05.08_EZ_Swisscom_Mai_MaR”), gibt es eine Möglichkeit, wie ich im Terminal alle “” durch einen Leerschlag ersetzen kann?

Besten Dank für eure Hilfe

gruss Martin

Unsere Sponsoren

Profilfoto von hirnstroem

hirnstroem

Oder als Einzeiler und mit Perl (müsste mit Leerzeichen gehen, konnte es aber nicht testen): find . -name ‘*.txt’ -print0 |xargs -0 perl -pi -e ‘s/_/ /g’

Ansonsten wären - für weniger spezifische aber dennoch in Regeln fassbare Ersetzungen - reguläre Ausdrücke (RegEx / Regular Expressions) eine starke Alternative, mit welcher beispielsweise nach ‘Strukturen’ gesucht werden kann, um Manipulationen vorzunehmen. Für eine IP Adresse könnte der reguläre Ausdruck dies etwa so aussehen: “([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})” (wobei hier vieles nicht berücksichtigt wurde)

Profilfoto von pse

pse

Von cHir0n • Montag, 22. September 2008, 12:19 Uhr#!/bin/bash for i in $(ls); do cp $i “`echo $i | sed -e “s/_/ /g”`” done

Auf die Gefahr hin, jetzt ziemlich pedentisch rüberzukommen: - Anstelle von

for i in $(ls); do

empfiehlt sich

for i in *; do

da diese Variante auch bei Filenamen mit Leerzeichen, Tabs und Zeilenumbrüchen noch funktioniert. - Analog dazu würde ich bei

cp $i "`echo $i | sed -e "s/_/ /g"`"

eher

cp "$i" $(echo "$i" | sed -e "s/_/ /g")

empfehlen, aus demselben Grund wie oben (der Schutz ist in diesem Fall aber nicht 100%ig) - Am Schluss hat man alle alle Daten doppelt, ausserdem dürfte das Umkopieren von gescannten Files (da vermutlich gross) je nach Menge ein Weilchen dauern. Gegen das Doppelt-Problem hilft mv anstelle von cp, gegen das Umkopieren ln (zweiter Link/Directory-Eintrag aufs gleiche File).

Anmelden um neue Antworten zu verfassen

Allegra Leser! Nur angemeldete Nutzer können bei diesem Beitrag Antworten hinterlassen. Jetzt kostenlos registrieren oder mit bestehendem Benutzerprofil anmelden.