In einem Verzeichnis habe ich folgende Dateien angelegt:
Code: Alles auswählen
echo "abc" > /home/thilo/Data/datei1
echo "xyz" > /home/thilo/Data/datei2
echo "012" > "/home/thilo/Data/datei 3"
echo "789" > "/home/thilo/Data/datei 4"
echo "ABC" > "/home/thilo/Data/.datei5"
echo "XYZ" > "/home/thilo/Data/.datei6"
Dazu habe ich mir folgendes Shell-Skript erstellt:
Code: Alles auswählen
#!/bin/bash
verzeichnis="/home/thilo/Data"
for datei in $verzeichnis/*
do
name=`basename $datei`
if [ -f $verzeichnis/$name ]
then
# Hier wird irgendwas mit der Datei gemacht
# ......
# ......
fi
done
Anschl. habe ich folgendes probiert:
Code: Alles auswählen
#!/bin/bash
verzeichnis="/home/thilo/Data"
for datei in `ls -A $verzeichnis`
do
if [ -f $verzeichnis/$datei ]
then
# Hier wird irgendwas mit der Datei gemacht
# ......
# ......
fi
done
Ich möchte aber gerne erreichen, dass
- "normale" Dateien
- Dateien, die mit einem "." beginnen
- Dateien, die ein oder mehrere Leerzeichen enthalten
korrekt verarbeitet werden.
Wie kann man dies erreichen?
Vielen Dank für Ihre Mühe!
Gruß,
Thilo