Hallo,

K

krb

Grünschnabel
da ich in Hinsicht Shellscript noch am Anfang stehe hoffe ich hier etwas Hilfe zu bekommen

ich habe eine Datei test.txt in der sind mehere Zeilen hinterlegt


`/var/verzeichnis/firma.de/kunde1:/back/mail_archive/firma.de`
`/var/verzeichnis/firma.de/kunde2:/back/mail_archive/firma.de`
`/var/verzeichnis/firma.de/kunde3:/back/mail_archive/firma.de`

jetzt will ich diese Datei zeilenweise auslesen

while read Line do
echo $Line
done < test.txt

und nachdem er die erste Zeile ausgelesen hat, soll er Daten aus dem Verzeichnis Kunde1 nach /back/mail_archive/firma.de archivieren.

und dann bei der 2. Zeile weiter machen...

kann mir hier jemand einen Tipp geben ?

Danke
 
Hi

Du musst mit z.Bsp. cut -d ":" -f1 dein String trennen und danach kopieren.
 
Danke für die schnelle Antwort.

das habe ich schon raus gefunden, Ich weiß jetzt nur nicht, wo ich das Cut einbaue ?

Soweit bin ich mit dem Auslesen

#! /bin/bash

Zeile=1
Datei=/home/me/test.txt

while read LINE do
echo "Zeile $Zeile: $LINE"
let Zeile=$Zeile+1
done < $Datei
 
Zuletzt bearbeitet:
while read LINE do
echo $(echo $LINE | cut -d ":" -f 1)
echo $(echo $LINE | cut -d ":" -f 2)
done < $Datei
 
`/var/verzeichnis/firma.de/kunde1:/back/mail_archive/firma.de`
Ich gehe mal davon aus, dass die Backticks nicht in der Textdatei vorhanden sind (sonst musst Du sie raus filtern).

Die Bash kann das alleine (ohne cut):
Code:
#!/bin/bash
Text=/home/me/test.txt

while read Line; do
  ((Zeile++))
  Datei="${Line//:*/}"
  Archiv="${Line//*:/}"
  echo "Zeile $Zeile : $Datei -> $Archiv"
done <$Text
 
Hallo Remidemi,

danke für Deine Antwort... sorry das ich jetzt erst antworte komme aber erst jetzt dazu weiter zu testen und weiter zu bearbeiten
Dein Teil las es mir so aus, wie ich es wollte.
Jetzt musste ich dies noch einer Variablen zuweisen, da diese dann im folge Script zum Archivieren benutzt wird.
Ist da die Ausführung unten richtig?

#!/bin/sh

ZEILE=1
DATEI=/home/ich/.Verzeichnis/tmp/test_1.txt

while read LINE; do
quelle=$(echo $LINE | cut -d ":" -f 1)
ziel=$(echo $LINE | cut -d ":" -f 2)
done < $DATEI
 

Ähnliche Themen

Summe von Zahlen in einer Zeilen bilden

Shell Skript beschleunigen

Textdatei zeilenweise in durchnummerierte Variablen schreiben

ca. 1200 PDF-Dateien auslesen und bestimmte Daten in eine CSV-Datei speichern

Zeile für Zeile auslesen und Befehl ausführen

Zurück
Oben