Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Sistemi operativi I
 
comando cut
Clicca QUI per vedere il messaggio nel forum
Laüra
Ciao a tutti!

Non riesco ad usare il comando cut con ls..... ho fatto varie prove ma l'output rimane sempre lo stesso...qualcuno sa spiegarmi cosa sbaglio?

Per esempio:
se faccio du -s /usr/bin | cut -f 1 ottengo il risultato atteso

ma se faccio ls -l /usr/bin | cut -f 4 l'output di ls non cambia.

Grazie

n3o
ls -l /usr/bin | tr -s ' ' ' ' | cut -d ' ' -f 4

Di norma cut prende come separatori i blank (in du le colonne sono separate da tab, quindi tutto ok)
In ls -l purtroppo i campi sono separati da spazi ma in un numero variabile non predicibile a priori, quindi l'unico modo è applicare all'output tr -s ' ' ' ' che comprime tutti gli spazi contigui in un solo spazio e poi cut -d ' ' - f 4 che estrae la quarta colonna specificando il separatore come spazio.

Giusto per capire meglio tr, funziona anche:
ls -l /usr/bin | tr -s ' ' ':' | cut -d ':' -f 4
o qualsiasi carattere sostitutivo degli spazi contigui

Prova i comandi passo passo e consulta i manuali per capire bene le opzioni!

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate