PDA

Bekijk Volledige Versie : [gez] Linux bash script losse klus



Anoniem
03/05/11, 14:20
Ik zoek iemand die het volgende voor me kan realiseren:

input bash script:
1) line [string]
2) identifier [string]

Hij moet dit in een file wegschrijven.
Hij moet het zo wegschrijven OF updaten als identifier al bestaat

Syntax opbouw:
{al bestaande contents van file staan hier, laten staan}

# Identifier
line



Graag een opleverdatum en prijsopgaaf bij accoord vanavond na 22h.
BTW/KVK verplicht
Vragen? hier stellen

t.bloo
03/05/11, 16:20
zoiets?


#! /bin/bash
###
### update file with key/value pairs
###
### file format:
### key on single line with # in front
### value following the key line
### empty line
###
### remark: not atomic
###

### settings
FILE="logfile.txt"
TEMP="logfile.tmp"

### command line input
value=$1
key=$2
verbose=$3
if [ $verbose ]; then
echo "key = $key"
echo "value = $value"
fi

### remove matching key/value from lines
if [ -e $FILE ]; then
while read line
do
### test for existence of key
if [ "# $key" == "$line" ]; then
if [ $verbose ]; then
echo "found key $key"
fi
# skip next part of input
read dummy
read dummy
else
# copy over old lines
echo $line >> $TEMP
read line
echo $line >> $TEMP
read line
echo >> $TEMP
fi
done < $FILE
fi

### add key/value to file
echo "# $key" >> $TEMP
echo $value >> $TEMP
echo >> $TEMP

### promote temp file
mv $TEMP $FILE

### ready
if [ $verbose ]; then
cat $FILE
fi

Anoniem
03/05/11, 19:59
Ziet er goed uit , thanks. Ik ga het morgen even testen!

Anoniem
08/05/11, 13:54
Werkt als een [zelf invullen] !!