[ERLEDIGT] bash -- Dateinamen den Variablen zuordnen

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
rennpferd
Beiträge: 133
Registriert: 30.06.2011 11:30:08
Kontaktdaten:

[ERLEDIGT] bash -- Dateinamen den Variablen zuordnen

Beitrag von rennpferd » 20.11.2017 11:22:26

Hallo NG,
in einem Ordner sind folgende Dateien:

ls -rt1 busmon* liefert folgende Ausgabe:

busmon.txt
busmon1.txt
busmon1#1.txt
busmon2.txt
busmon2#1.txt
busmon2#2.txt
busmon2#3.txt
---schnipp---
busmon2#9.txt
busmon2#10.txt
busmon2#11.txt
busmon2#12.txt
--- schnipp----
busmon2#19.txt
busmon2#20.txt
busmon2#21.txt
--- schnipp ---
busmon2#29.txt
busmon2#30.txt
busmon2#31.txt
-- usw. --

Diese möchte ich mit dem set-Befehl den Variablen zuordnen, also so, dass der Befehl
echo $1 -- busmon.txt
echo $2 -- busmon1.txt
echo $3 -- busmon1#1.txt
usw.
liefert

Wie muss ich da vorgehen?
Danke für Hinweise
Zuletzt geändert von rennpferd am 20.11.2017 12:02:40, insgesamt 1-mal geändert.

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: bash -- Dateinamen den Variablen zuordnen

Beitrag von heisenberg » 20.11.2017 11:48:12

z. B.:

Code: Alles auswählen

set $(ls -rt1 busmon* )
Solange die Variablen dem gegebenen Muster entsprechen ist das unproblematisch.

Allerdings würde ich das lieber so abarbeiten. Das wird weniger Quoting-Probleme verursachen.

Code: Alles auswählen

while read dateiname ; do
  ...
done < <(ls -tr1 busmon*)
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

rennpferd
Beiträge: 133
Registriert: 30.06.2011 11:30:08
Kontaktdaten:

Re: bash -- Dateinamen den Variablen zuordnen

Beitrag von rennpferd » 20.11.2017 12:02:11

heisenberg hat geschrieben: ↑ zum Beitrag ↑
20.11.2017 11:48:12

Code: Alles auswählen

set $(ls -rt1 busmon* )
Solange die Variablen dem gegebenen Muster entsprechen ist das unproblematisch.
Oh, danke
Das ging ja einfacher als befürchtet

Antworten