Hallo zusammen.
Ich bei einem Ordner schauen ob *.txt Dateien drin sind (wie find /pfad -name "*.txt”)
Sind keine drin soll nichts passieren.
Ist eine oder mehrere drin, soll er EINE nehmen (egal welche), den Dateinamen vor .txt in eine Variable speichern und die eigentliche Datei umbennen nach .fertig. Mit allen anderen soll er nichts machen, erst bei einem weiteren Durchlauf wieder eine nehmen.
Dann soll er ein Programm mit dem Parameter des Dateinamen (ohne Endung) aufrufen also ./programm -param=$DATEINAME, das weis sich aber wie, das ist nicht das Problem.
Kann mir da jemand helfen, wie ich diesen Dateiname auslese?
Viele Grüsse,
Erich
Dateien eines Ordners auslesen
Re: Dateien eines Ordners auslesen
Nein, dies funktioniert nicht so.matzewe01 wrote:man findCode: Select all
find - name type f -name *.txt -exec /tuwas.sh {} ;
Find ist nicht das Problem, ich will den DATEINAMEN der (einer, wenn mehrere) Datei auslesen, den schlussendlich ohne Endung in einer Variable haben. Ebenfalls soll das in einem Script laufen, ich will nicht von einem kleinen Script ein weiteres Mikroscript aufrufen.
In dem Fall oben gibt find alle Dateien an und extrahiert den selben auch nicht von seiner Endung.
Re: Dateien eines Ordners auslesen
Code: Select all
find /pfad -type f -name '*.txt' -exec basename {} ; | sed 's/.[a-zA-Z0-9]+$//' | head -1Re: Dateien eines Ordners auslesen
Quick & Dirty & Untested:
Code: Select all
#!/bin/bash
for file in `find . -type f -name *.txt -print0 | xargs -0 ls`
do
i=$(basename ${file} .txt)
mv ${i} ${i}.fertig
/path/to/program -param=${i}
done
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: Dateien eines Ordners auslesen
Code: Select all
for file in *.txt; do
if [[ -f ${file} ]]; then
mv ${file} ${file}.fertig
orig=${file%.txt}
echo damit etwas machen $orig
break
fi
done
