Hallo,
Ich habe hier ein Script, der die channels.conf nach Frequency sortiert:
Bash
#!/bin/bash
dir="/channels"
outdir="/tmp"
cd $dir
for a in S*conf ; do SAT=$(echo $a|cut -d _ -f1); cat $a | while read b ; do FIRST=$(echo $b|cut -d : -f-3 ) ; LAST=$(echo $b|cut -d : -f5- ) ; echo $FIRST:$SAT:$LAST >>tmp;done ; mv tmp $a ; done
if [ ${dir:${#dir}-1:${#dir}} != "/" ]
then
dir=$dir"/"
fi
for file in `ls ${dir}*.conf`
do
filename=${file/`dirname $file`/}
if [ ${filename:0:1} = "/" ]
then
filename=${filename:1:${#filename}}
fi
if [ -e $outdir/$filename ]
then
echo "File $filename already exists! Aborting this file."
continue
fi
touch $outdir/$filename
exec 3< <(sort -g -t : -k 2 $file)
tmp=""
while read line
do
T=`echo $line | cut -d: -f2`
if [ "$T" != "$tmp" ]
then
echo " " >> $outdir/$filename
echo ":== Frequency $T MHz ==" >> $outdir/$filename
fi
echo $line >> $outdir/$filename
tmp=$T
done <&3
exec 3<&-
done
Alles anzeigen
Wie soll man den Script erweitern, damit er mir zB. nur TV-Kanäle in $outdir abspeichert? Sprich wenn VPID nicht 0 ist. Aber gleichzeitig die Trennzeichen ":== Frequency" überall einfügt.
Danke.