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 > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Come estrarre prima colonna con un carattere specifico selamba_warrior Shell scripting e di programmazione 3 05-22-2008 05:14 AM
Evitare il carattere * nel ksh. arvindcgi Shell scripting e di programmazione 6 05-19-2008 09:50 AM
[csh] per il carattere specifico di controllo varia in una variabile userix Shell scripting e di programmazione 5 05-11-2008 07:56 AM
Come cambiare un carattere specifico in un file sdubey Shell scripting e di programmazione 6 02-22-2008 03:30 PM
Come aggiungere il carattere in posizione specifica di una stringa? victorlung Shell scripting e di programmazione 5 09-01-2006 10:33 AM

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 01-28-2008
brainyoung brainyoung is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 13
Exclamation Evitare carattere specifico in awk

Ciao là,

Ho un po 'di file delimitato da sporco, ho detto perché sporca, il delimitatore può apparire anche in posizioni sbagliate. Tuttavia, una unicità di questo file è
ogni volta che il delimitatore di comparire all'interno della doppia quotazione, quindi non considerare come delimitatore, se apparire al di fuori doppio quindi considerare come delimitatore.


contenuto appare come di seguito

abc; def; ghi; "kl; mn; op"; qrst; uv; w; xyz;

Awk

INP \u003d $ 1
nawk-F "," '(print $ 1 "~" $ 2 "~" $ 3 "~" $ 4 "~" $ 5 "~" $ 6 "~" $ 7 "~" $ 8;)' $ INP>> $ () INP _det . txt

mi dà come ouptut

~ abc def ghi ~ ~ "~ kl mn op ~" ~ ~ qrst uv

Ma è previsto in uscita

~ ~ abc def ghi ~ "kl; mn; op" ~ ~ qrst uv ~ ~ w xyz


Sono tipo di bloccato come per sfuggire alla doppia quotazione. Apprezzo qualsiasi puntatori.

grazie
  #2 (permalink)  
Old 01-28-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Iscriviti Data: giugno 2003
Localizzazione: Scozia
Interventi: 431
hmmm

hacky soluzione è:

Codice:
tr "\"" "%" <file1 | nawk -F";" '{ print $1"~"$2"~"$3"~"$4"~"$5"~"$6"~"$7"~"$8; }' | tr "%" "\""
vale a dire convertire la " '% s per' s poi la mappa indietro dopo ....


EDIT: nope - ignore me - Sto parlando spazzatura ;-) troppo presto su un lunedi mattina - hanno bisogno di più caffeina
  #3 (permalink)  
Old 01-28-2008
brainyoung brainyoung is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 13
Salve,

Per essere più precisi, tutti i campi sono doppie virgolette e delimitati da virgola;

qualcosa di simile:
"abc"; "def" "ghi"; "kl; mn; op"; "qrst"; "UV", "w", "xyz";

Ho preprocessati i file da eliminare tutte le doppie virgolette e poi notato, probabilmente, che non avrebbe funzionato, come ho bisogno di una sorta di marcatore per dire che tutti i valori all'interno di doppie virgolette è solo valore e non di delimitazione. Somhow che lottano per il diritto premere i tasti
  #4 (permalink)  
Old 01-28-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Iscriviti Data: giugno 2003
Localizzazione: Scozia
Interventi: 431
ah, allora questo dovrebbe funzionare:

Codice:
sed 's/\";"/%/g' file | nawk -F"%" '{ print $1"~"$2"~"$3"~"$4"~"$5"~"$6"~"$7"~"$8; }'
stesso tipo di trucco - sostituire ";" con%, e l'uso che come delimeter%,
  #5 (permalink)  
Old 01-28-2008
brainyoung brainyoung is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 13
Grazie Tytalus!
  #6 (permalink)  
Old 12-12-2008
tosattam tosattam is offline
Utente Registrato
  
 

Join Date: Aug 2008
Interventi: 13
Salve

Ho una \ (backslash) come delimitatore e voglio una specifica colonna da quello. Io non sono stati in grado di farlo utilizzando awk o sed

Ingresso
tosattam123 \ mattasewq213

Voglio che il Uscita
mattasewq213

Ho cercato di sfuggire al \ con / " 'e molti altri, come pure, ma senza alcun risultato

chiunque può aiutare
  #7 (permalink)  
Old 12-12-2008
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2005
Località: Boston, MA
Messaggi: 5.122
Codice:
echo 'tosattam123\mattasewq213' | awk -F'\\' '{print $2}'
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 è 06:00 AM.


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