Re: Fragen zu Shell-Skripten
Am 03/05/2012 07:38 PM, schrieb Peter Schütt:
> ein wenig OT, aber das Fachwissen dafür ist hier sicherlich vorhanden:
Ich versuche das mal zu beantworten.
Man kann das auch alles mit Shell-(bash)-Bordmitteln abwickeln.
> 1.
> Gegeben ist eine Datei mysource mit folgendem Header
> %title: Ein beliebiger Titel
> %date: 2001-12-23
> Irgendwelcher Text
>
> Ich möchte nun in einem Skript den Titel und das Datum weiter verarbeiten
> können, also in der Weise:
>
> TITLE=`MagicScriptForTitle.sh mysource`
> DATE=`MagicScriptForDate.sh mysource`
>
> Wenn eine der Header-Zeilen fehlen sollte, dann muß die Variable leer sein.
Es würde sich anbieten, das als Funktion zu schreiben. Und diese würde
ich dann noch parametrisieren, damit man nix doppelt coden muss. Also so
etwa:
get_header()
{
local type=$1;shift;
local file=$1;shift;
cat ${file} | while read line
do
if [[ $line =~ "%${type}:" ]]
then echo ${line/%${type}: /}
fi
done
}
Aufruf wäre dann mit
TITLE=$(get_header title mysource)
DATE=$(get_header date mysource)
> 2.
>
> Gegeben ist die Variable
>
> MYVAR=Ein_Toter_am_Turm
>
> Wie überführe ich sie nach
>
> 'Ein Toter am Turm' (also Charakter-Ersetzung) ?
echo ${MYVAR//_/ }
oder
MY_NEW_VAR=${MYVAR//_/ }
> 3.
>
> Gegeben ist ein kompletter Pfad:
>
> /home/ich/mydir/myfile.dat
>
> Mittels "basename" komme ich an den einfachen Dateinamen.
> Wie komme ich an das Verzeichnis?
dirname
aber das kam ja schon ... :-)
> Danke für alle Hinweise und Tips.
Ich hoffe, das hilft.
jm2c René
Reply to: