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?
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)
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.
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
macprime ForumMit Terminal Dateinamen ändern
VonAntwort von Martin Rechsteiner
Unsere Sponsoren
Apps with love entwickelt digitale Produkte, die das Leben vereinfachen.
Dich als Sponsor präsentieren und macprime mit möglich machen.
sierra2
Martin Rechsteiner
cHir0n
hirnstroem
pse
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.