Shellscript Leerzeichen

03/01/2011 - 16:53 von Chris Leick | Report spam
Hallo,

in einem Shellskript möchte ich Dateien mit einem bestimmten Alter
auflisten:

-
#!bin/bash

# Leerzeichen in Dateinamen maskieren:
datei=`echo $1|sed -e 's/\ /\\\ /g'`
echo $datei

# Dateien suchen, die neuer als 45 Tage sind:
find $datei -mtime -45
-

Leider kommt dabei sowas heraus:
chris@laptop:~$ sh neuer_als_45_tage.sh /tmp/mit\ Leerzeichen
/tmp/mit\ Leerzeichen
find: /tmp/mit': Datei oder Verzeichnis nicht gefunden
find: 'Leerzeichen/: Datei oder Verzeichnis nicht gefunden

Auf der Befehlszeile klappt dieser Find-Befehl.
Auch das Quoting mit "" und '' habe ich bereits probiert - ohne Erfolg.
Hat jemand eine Idee was hier falsch ist?

Chris
 

Lesen sie die antworten

#1 Wolf Grossi
03/01/2011 - 17:52 | Warnen spam
On 03.01.2011 16:53, Chris Leick wrote:
Hallo,

in einem Shellskript möchte ich Dateien mit einem bestimmten Alter
auflisten:

-
#!bin/bash


#!/bin/bash


# Leerzeichen in Dateinamen maskieren:
datei=`echo $1|sed -e 's/\ /\\\ /g'`
echo $datei

# Dateien suchen, die neuer als 45 Tage sind:
find $datei -mtime -45
-

Leider kommt dabei sowas heraus:
:~$ sh neuer_als_45_tage.sh /tmp/mit\ Leerzeichen
/tmp/mit\ Leerzeichen
find: /tmp/mit': Datei oder Verzeichnis nicht gefunden
find: 'Leerzeichen/: Datei oder Verzeichnis nicht gefunden

Auf der Befehlszeile klappt dieser Find-Befehl.
Auch das Quoting mit "" und '' habe ich bereits probiert - ohne Erfolg.
Hat jemand eine Idee was hier falsch ist?

Chris



Hth
Wolf

Ähnliche fragen