Skriptproblem - Inhalte in Variablen um Zeichenanzahl kürzen

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

fraubi

Benutzer
Registriert
25. Nov. 2011
Beiträge
605
Reaktionspunkte
1
Punkte
42
Hallo zusammen,

ich versuche mich gerade an einem Skript, doch leider machen mir meine fehlenden Kenntnisse da mal wieder schwer zu schaffen....daher würde ich mich über eine kurze Hilfestellung sehr freuen. Also :

In meinem Skript lese ich die Dateigröße sowie die Namen aller DOC-Dateien eines Verzeichnisses mit folgendem Quellcode in eine Variable ein :

PHP:
inhalte=`du -sh /volumeUSB1/usbshare/*.doc`

Den Inhalt der Variable 'inhalte' füge ich in eine Mail ein, die am Skriptende automatisch verschickt wird. Dort wird der Inhalt der Variablen dann wie folgt angezeigt :

1M /volumeUSB1/usbshare/Ablage_A.doc
2M /volumeUSB1/usbshare/Ablage_B.doc
1M /volumeUSB1/usbshare/Ablage_C.doc
1M /volumeUSB1/usbshare/Ablage_D.doc


Jetzt möchte ich aber, dass der Inhalt der Variablen um den mit ausgeworfenen Verzeichnispfad /volumeUSB1/usbshare/ gekürzt wird, so dass dann dort nur noch

1M Ablage_A.doc
2M Ablage_B.doc
1M Ablage_C.doc
1M Ablage_D.doc


steht.

Ich meine zu wissen, dass dieses wohl bereits beim Einlesen der Dateien in die Variable mit dem Befehl 'awk' erfolgen kann. Nur leider kriege ich das mit der Syntax nicht hin, und aus den 'ergoogelten' Hinweisen bin ich nicht schlau geworden.

Daher, vielen Dank für Eure Hilfe :o
 
Probier mal ein
Code:
echo $dateiname|awk -F'/' '{print $NF}'
 
inhalte=`du -sh /volumeUSB1/usbshare/*.doc | sed -e "s@/.*/@@"`
 
Hach, schön. :)

Die Variante von hvkls funktioniert direkt, bei jahlives müsste man noch die Zeilen über das Leerzeichen an Position 3 splitten, um $dateiname zu bekommen. Ich habs vorhin nicht auf die Schnelle hinbekommen und danke Euch beiden für die Lehrstunde!
 
Zuletzt bearbeitet:
Euch allen vielen Dank für Eure Hilfe. Die Variante von hvkls hat sofort funktioniert. Das hätte ich so nie hinbekommen. Nun läuft mein Skript und ich bin happy :p

Schönes Wochenende
Fraubi
 
@dil88
kanns ned testen aber imho müsste das mit awk so klappen
Code:
echo "$dateiname"|awk -F'/' '{print $1$NF}'
 
So ist es, sehr schön!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat