PDA

Visualizza la versione completa : tagliare un campo


autch
07-02-2007, 15:32
ciao a tutti volevo sapere se era possibile confrontare un nome con tutti gli altri nomi che
si trovano all'interno di uno stesso file
con i comandi cut o grep

il file giocatori.log e il contenuto potrebbe essere

nome:password:codice

da:123:1309
ce:432:4507
me:756:4594

cia!

vortex87
07-02-2007, 15:36
Eh? :master:
Confrontare in che senso? :stordita:

autch
07-02-2007, 15:59
Allora questo il file, che contiene

nome:password:codice

enzo :123 :1309
franceso :432 :4507
michele :756 :4594


se mi arriva un input tipo $cat enzo:123:1309 >> giocatori.log
enzo :123 :1309

questo nome gia presente nel file non bisogna inserirlo!
le linee sono separati dai campi :

vortex87
07-02-2007, 16:17
Al posto di cat (che tra parentesi non andrebbe bene come comando per aggiungere una riga :stordita: ) dovrai usare un tuo script, fatto tipo:


#!/bin/bash

NOME=$1
PASSWORD=$2
CODICE=$3

FILE=giocatori.log

RES=$(egrep ^$NOME: $FILE | wc -l)

if [ $RES -eq 0 ]; then

echo "$NOME:$PASSWORD:$CODICE" >> $FILE

fi


Da invocare con
./script.sh nome password codice

autch
07-02-2007, 16:27
grazie mille vortex provo subito cia cia :fighet:

vortex87
07-02-2007, 16:29
Un suggerimento: il primo parametro del comando "egrep" un'espressione regolare (del tipo posix, se non sbaglio), quindi puoi modificarla come vuoi, per essere pi o meno precisa.

Loading