Problema con wc

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
DavideDaSerra
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 349
Iscrizione: domenica 15 febbraio 2009, 15:26
Desktop: xubuntu
Distribuzione: Ubuntu12.10 x86_64
Località: Da qualche parte in quel di Modena

Problema con wc

Messaggio da DavideDaSerra »

Ho un piccolo problema col parse dell'output di wc: come faccio a assegnare ad una variabile solo il valore del conto caratteri e non tutta la stringa
num_caratteri nomefile. (ad es se esiste un comando del grep per prendere solo la prima parola della riga).

EDIT

per ora ho tamponato con un micro-programma

Codice: Seleziona tutto

int main (int argc, char **argv){
if(argc<2){
              printf("voglio almeno un parametro"); 
              return 1;
                  }
printf("%s", argv[1]);
return 0;
}
ma vorrei qualcosa di più elegante
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: Problema con wc

Messaggio da vaeVictis »

Premesso che non ho capito il senso del codice in c:

Codice: Seleziona tutto

vaevictis@HAL:~/Scrivania$ wc foo.cpp 
 57 178 987 foo.cpp
vaevictis@HAL:~/Scrivania$ wc foo.cpp | cut -d ' ' -f 1

vaevictis@HAL:~/Scrivania$ wc foo.cpp | cut -d ' ' -f 2
57
vaevictis@HAL:~/Scrivania$ wc foo.cpp | cut -d ' ' -f 3
178
vaevictis@HAL:~/Scrivania$ wc foo.cpp | cut -d ' ' -f 4
987
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
melfnt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1312
Iscrizione: sabato 15 ottobre 2011, 22:25

Re: Problema con wc

Messaggio da melfnt »

Oppure alcune opzioni di wc permettono di contare solo alcune cose (caratteri, linee, parole) senza avere l'output completo:

dal manuale

Codice: Seleziona tutto

-c, --bytes
              print the byte counts

       -m, --chars
              print the character counts

       -l, --lines
              print the newline counts

prova

Codice: Seleziona tutto

wc -m nomeFile
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: Problema con wc

Messaggio da crap0101 »

melfnt [url=http://forum.ubuntu-it.org/viewtopic.php?p=4402380#p4402380][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Oppure alcune opzioni di wc permettono di contare solo alcune cose (caratteri, linee, parole) senza avere l'output completo:
non mi pare che la scelta di cosa contare influenzi il formato dell'output
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
melfnt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1312
Iscrizione: sabato 15 ottobre 2011, 22:25

Re: Problema con wc

Messaggio da melfnt »


Già, perché alla fine comunque stampa il nome del file...

Di questo non avevo tenuto conto.
Allora prova

Codice: Seleziona tutto

wc -m < foo.cpp
Che stampa solo il conto dei caratteri, senza mostrare il nome del file
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 1 ospite