Bash ausgabe filtern und 2. problem werte definieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Homeless1
Beiträge: 414
Registriert: 02.10.2003 19:34:20
Wohnort: /proc/net/

Bash ausgabe filtern und 2. problem werte definieren

Beitrag von Homeless1 » 15.12.2007 20:31:02

Hallo

Ich hab ein USB-Telefon an meinem Rechner. mittels

Code: Alles auswählen

find /sys/ -name get_icons
Erhalte ich als Ausgabe:

Code: Alles auswählen

/sys/devices/pci0000:00/0000:00:01.2/usb3/3-1/3-1.1/3-1.1.3/3-1.1.3:1.3/get_icons
Nun möchte ich erreichen das der letzte Text "/get_icons" verschwindet.
Damit ich einen PHONE_PATH=/sys/devices/pci0000:00/0000:00:01.2/usb3/3-1/3-1.1/3-1.1.3/3-1.1.3:1.3 definieren kann
und somit später nur noch cat ./$PHONE_PATH/get_icons eingeben muss.

Mein Probelem ist wie gesagt das es usb-ist und die adresse beim erneutem booten meines wissens sich ändert.


Mein 2. Problem ich arbeite daran mir das aktuelle Datum mittels einzelnen wave-file anzuhören
Sprich mittels script soll er aus:
24.12.2007 folgendens machen:
aplay 2.wav 4.wav punkt.wav 1.wav 2.wav punkt.wav 2.wav 0.wav 0.wav 7.wav

Ich denke ich muss dann erst einmal jede wav definiert

1=1.wav
2=2.wav

aplay $1


Danke,
Gruß Homeless1
Zuletzt geändert von Homeless1 am 15.12.2007 23:42:16, insgesamt 1-mal geändert.
Use Linux

Benutzeravatar
markus_b
Beiträge: 355
Registriert: 26.01.2006 04:57:18
Lizenz eigener Beiträge: MIT Lizenz

Re: Bash ausgabe filtern und 2. problem werte definieren

Beitrag von markus_b » 15.12.2007 21:01:30

Homeless1 hat geschrieben: Nun möchte ich erreichen das der letzte Text "/get_icons" verschwindet.

Code: Alles auswählen

find /sys/ -name get_icons -printf '%h\n'
Mehr Infos zur printf Aktion gibt es unter

Code: Alles auswählen

info find

Benutzeravatar
finupsen
Beiträge: 1327
Registriert: 21.04.2004 20:07:05
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von finupsen » 15.12.2007 21:04:37

moin

zu2:

könnte in etwa so aussehen:

Code: Alles auswählen

#/bin/bash
NOW=`date +%d.%m.%Y|sed -e "s/\(.\)/\1\ /g"`
for T in $NOW
do
 T=`echo $T|sed -e 's/\./punkt/'`
 echo $T'.wav'
done
BTW: du weisst das es sowas wie text2speech gibt ... ?
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Re: Bash ausgabe filtern und 2. problem werte definieren

Beitrag von SubOptimal » 15.12.2007 21:18:35

Hi,
Homeless1 hat geschrieben:Ich hab ein USB-Telefon an meinem Rechner. mittels

Code: Alles auswählen

find /sys/ -name get_icons
Erhalte ich als Ausgabe:

Code: Alles auswählen

/sys/devices/pci0000:00/0000:00:01.2/usb3/3-1/3-1.1/3-1.1.3/3-1.1.3:1.3/get_icons
Nun möchte ich erreichen das der letzte Text "/get_icons" verschwindet.
Am einfachsten

Code: Alles auswählen

PHONE_PATH=`find /sys/ -type f -name get_icons -printf "%h"`
Mein Probelem ist wie gesagt das es usb-ist und die adresse beim erneutem booten meines wissens sich ändert.
Vielleicht gibt es auch eine elegantere Lösung mittels udev Regeln.
Mein 2. Problem ich arbeite daran mir die aktuelle Uhrzeit mittels einzelnen wave-file anzuhören
Sprich mittels script soll er aus:
24.12.2007 folgendens machen:
aplay 2.wav 4.wav punkt.wav 1.wav 2.wav punkt.wav 2.wav 0.wav 0.wav 7.wav
Könntest Du z.B. so lösen

Code: Alles auswählen

#!/bin/sh
NOW=`date "+%d%m%Y"`
aplay ${NOW:0:1}.wav ${NOW:1:1}.wav punkt.wav ${NOW:2:1}.wav ${NOW:3:1}.wav punkt.wav ${NOW:4:1}.wav ${NOW:5:1}.wav
Wenn es nicht einen speziellen Grund für einzelnen Wave Dateien gibt, dann könntest Du es vielleicht einfacher mit einem Text to Speech Programm lösen.

SubOptimal

Benutzeravatar
Homeless1
Beiträge: 414
Registriert: 02.10.2003 19:34:20
Wohnort: /proc/net/

Beitrag von Homeless1 » 15.12.2007 23:52:27

Vielen Dank euch allen

Zu 1. Nun muss ich nicht mehr jedesmal mein USB-Telefon neu einrichten.

Zu 2. Das mit den Wav Files genial das das funktioniert.
Ein Text to Speech Programm hatte ich auch im Sinn nur klingt es dort komisch.
Jetzt kann ich mir das aktuelle Datum in Half-Life 2 Sprachqualität anhören genial. ;-)



Ich wünsch euch noch schöne Feiertage und einen guten Rutsch.

Gruß Homeless1
Use Linux

Antworten