The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Inizio Forum > UNIX for Dummies Domande & Risposte
.
google unix.com



UNIX for Dummies Domande & Risposte Se non sei sicuro dove pubblicare un UNIX o Linux domanda, posta da qui. Tutti i neofiti di Linux e UNIX benvenuto!

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
"|" File separato convalide kolesunil Shell scripting e di programmazione 1 05-27-2008 05:19 AM
Separare le linee in un unico '|' separati linea hidnana Shell scripting e di programmazione 3 03-17-2008 10:16 AM
Perticular sostituire un carattere di tutte le linee di un file abovais Shell scripting e di programmazione 1 12-11-2007 05:35 AM
due linee separate del colon in una riga ... tonlu Shell scripting e di programmazione 2 03-30-2005 10:27 AM
carattere di convalida ruffenator Di programmazione ad alto livello 9 05-02-2002 02:13 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 05-27-2008
kolesunil kolesunil is offline
Utente Registrato
  
 

Iscriviti Data: maggio 2008
Posti: 8
Validazione linee separate di carattere in un file

Salve,

Ho un file con "|" campi separati. Se la linea non contiene n "|" (ad esempio 2), poi mettere questa linea in un file chiamato invalid_file.txt. Se non mettete questa riga in un file chiamato valid_file.txt.

Per esempio, un file contiene le righe seguenti:
Codice:
Hi|Hello
How|Are|You
Hello
allora
invalid_file.txt dovrà contenere:
Codice:
How|Are|You
Hello
valid_file.txt dovrà contenere:
Codice:
Hi|Hello
Qualsiasi aiuto è molto apprezzato.


Grazie,
SK

Ultimo a cura di Yogesh Sawant; al 05/27/2008 07:08 AM.. Motivo: aggiunto codice tag
  #2 (permalink)  
Old 05-27-2008
kolesunil kolesunil is offline
Utente Registrato
  
 

Iscriviti Data: maggio 2008
Posti: 8
Ho preparato la script di shell. Grazie.

Si prega di vedere la script di shell:

Codice:
TestValid()
{
while read -r line
do
echo ${line} | awk -F"|" '{
if (NF == sep_num)
   printf("%s\n", $0) >> fname"_valid_rec";
else
   printf("%s\n", $0) >> fname"_invalid_rec"
}' sep_num="${2}" fname="${1}"
done < ${1}
}

while read -r col1 col2
do
if [ -f ${col1}"_valid_rec" ]; then
  rm ${col1}"_valid_rec"
fi
if [ -f ${col1}"_invalid_rec" ]; then
  rm ${col1}"_invalid_rec"
fi
TestValid ${col1} ${col2}
if [ -f ${col1}"_invalid_rec" ]; then
   mv ${col1} ${col1}"_org"
fi
if [ -f ${col1}"_valid_rec" ]; then
   mv ${col1}"_valid_rec" ${col1}
fi
done < para_new.cfg

Ultimo a cura di Yogesh Sawant; al 05/27/2008 07:09 AM.. Motivo: aggiunto codice tag
  #3 (permalink)  
Old 05-27-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2007
Messaggi: 4.302
Con awk è possibile farlo con uno oneliner:

Codice:
awk 'BEGIN{FS=OFS="|"}NF==2{print $0 > "valid_file.txt";next}{print $0 > "invalid_file.txt"}' file
Usa nawk / o su Solaris usr/xpg4/bin/awk se ottieni errori.
  #4 (permalink)  
Old 05-27-2008
ripat ripat is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: ottobre 2006
Posizione: Belgio
Interventi: 438
Lei avrebbe potuto usare awk:
Codice:
awk -F "|" 'NF!=2' file > output
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 05:31 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0