Strano comando.. spiegazioni?
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- Darkstar89
- Packager

- Messaggi: 372
- Iscritto il: mer 17 dic 2008, 19:06
- Nome Cognome: Francesco
- Slackware: 13
- Località: Sassari
Strano comando.. spiegazioni?
Salve.. ultimamente stavo lavorando presso un call-center.. (che schifo!).. comunque almeno c'era Linux, qualche strana distribuzione modificata, ma basata su Slackware...
Spesso con la shell guardavo i file di avvio come rc.M ecc...
In uno (non ricordo quale), ho trovato:
grep MemFree: < /proc/meminfo | sed s/MemFree://|sed s/kb
Cosè?..
è utile per svuotare la ram come drop_cache?
Spesso con la shell guardavo i file di avvio come rc.M ecc...
In uno (non ricordo quale), ho trovato:
grep MemFree: < /proc/meminfo | sed s/MemFree://|sed s/kb
Cosè?..
è utile per svuotare la ram come drop_cache?
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Strano comando.. spiegazioni?
bah... non sembra terminato, quel sed finale è incompleto
e prima mostra semplicemente la MemFree, e quella ridirezione è inutile
avrebbe prodotto lo stesso risultato
probabilmente l'ultimo sed toglie anche kb mostrando solo il valore numerico, così che in base a quello viene decisa un'operazione seguente, ma è solo una ipotesi
e prima mostra semplicemente la MemFree, e quella ridirezione è inutile
Codice: Seleziona tutto
grep MemFree: /proc/meminfo | sed s/MemFree://probabilmente l'ultimo sed toglie anche kb mostrando solo il valore numerico, così che in base a quello viene decisa un'operazione seguente, ma è solo una ipotesi
- robbybby
- Linux 4.x

- Messaggi: 1223
- Iscritto il: sab 16 dic 2006, 10:48
- Slackware: 13.1 / 64 bit
- Kernel: 3.3.x
- Desktop: KDE 4.4.5
- Località: Fra Trantor e Terminus
Re: Strano comando.. spiegazioni?
grep serve per cercare del testo (delle espressioni regolari, per essere più precisi) all'interno di un file di testo, secondo un pattern che gli dai. Se cerchi con google, espressioni regolari, oppure regular expressions tutto ti sarà più chiaro.
Tanto per fare una prova, prova questo:
/proc/meminfo è semplicemente un file virtuale che contiene aclune informazioni sullo stato del sistema.
Prova a leggerlo con:
sed serve invece per eleborare delle stringhe (prova con man sed, per saperne di più).
Quel comando cerca la stringa MemFree nel file /proc/meminfo e poi la dà in pasto a sed, per farne non so che, dato che non uso sed, e il tuo comando, sulmio sistema, mi dà un errore di sed.
@conraid: ci siamo incrociati
Dopo aver letto ilpost di Conraid aggiungo: quel comando mostra il contenuto della riga MemFree del file meminfo, dopo aver tolto la stringa MemFree: e kb (che dovrebbe essere kB, però).
Tanto per fare una prova, prova questo:
Codice: Seleziona tutto
dmesg | grep -i cpu Prova a leggerlo con:
Codice: Seleziona tutto
cat /proc/meminfoQuel comando cerca la stringa MemFree nel file /proc/meminfo e poi la dà in pasto a sed, per farne non so che, dato che non uso sed, e il tuo comando, sulmio sistema, mi dà un errore di sed.
@conraid: ci siamo incrociati
Dopo aver letto ilpost di Conraid aggiungo: quel comando mostra il contenuto della riga MemFree del file meminfo, dopo aver tolto la stringa MemFree: e kb (che dovrebbe essere kB, però).
-
Mario Vanoni
- Iper Master

- Messaggi: 3174
- Iscritto il: lun 3 set 2007, 21:20
- Nome Cognome: Mario Vanoni
- Slackware: 12.2
- Kernel: 3.0.4 statico
- Desktop: fluxbox/seamonkey
- Località: Cuasso al Monte (VA)
Re: Strano comando.. spiegazioni?
grep MemFree: < /proc/meminfo | sed s/MemFree:// | sed s/kB//Darkstar89 ha scritto:Salve.. ultimamente stavo lavorando presso un call-center.. (che schifo!).. comunque almeno c'era Linux, qualche strana distribuzione modificata, ma basata su Slackware...
Spesso con la shell guardavo i file di avvio come rc.M ecc...
In uno (non ricordo quale), ho trovato:
grep MemFree: < /proc/meminfo | sed s/MemFree://|sed s/kb
Cosè?..
è utile per svuotare la ram come drop_cache?
come dice Corrado ritorna la sola cifra trovata,
sulla mia macchina e`
339732
con
grep MemFree: < /proc/meminfo | sed s/MemFree:// | sed s/kB// | sed 's/ //g'
diventa
339732
senza spazi a sinistra.
Se il comando finisce li`, nessuna azione, solo info,
se il valore e` "pipato" su altro ...
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Strano comando.. spiegazioni?
E al solito io dico che fare una pipe tra grep e sed è sbagliato:
Emanuele
Codice: Seleziona tutto
sed -n /MemFree/'{s/MemFree: *\([0-9]*\).*/\1/;p}' /proc/meminfoSe pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
-
Mario Vanoni
- Iper Master

- Messaggi: 3174
- Iscritto il: lun 3 set 2007, 21:20
- Nome Cognome: Mario Vanoni
- Slackware: 12.2
- Kernel: 3.0.4 statico
- Desktop: fluxbox/seamonkey
- Località: Cuasso al Monte (VA)
Re: Strano comando.. spiegazioni?
Concordo al 100%, fa` vedere solo il numero richiesto.spina ha scritto:E al solito io dico che fare una pipe tra grep e sed è sbagliato:EmanueleCodice: Seleziona tutto
sed -n /MemFree/'{s/MemFree: *\([0-9]*\).*/\1/;p}' /proc/meminfo
- j0kers
- Linux 2.x

- Messaggi: 418
- Iscritto il: dom 22 lug 2007, 1:31
- Slackware: 13
- Kernel: 2.6.32
- Desktop: xfce4
Re: Strano comando.. spiegazioni?
Beh non poteva essere semplicemente cosi:
Dove numero è la posizione del testo che si vuole stampare
Codice: Seleziona tutto
grep MemFree /proc/meminfo | awk '{print $numero}'- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Strano comando.. spiegazioni?
Offtopic:
Emanuele[/offtopic]
Certo, ognuno fa quello che gli pare ma anche questo è brutto da vedere e a mio parere è anche più brutto che mettere grep in pipe con sed.j0kers ha scritto:Offtopic: Beh non poteva essere semplicemente cosi:Dove numero è la posizione del testo che si vuole stampareCodice: Seleziona tutto
grep MemFree /proc/meminfo | awk '{print $numero}'
- awk così come sed hanno come argomento il nome del file da processare, quindi non vedo perchè metterli in pipe con grep:
Codice: Seleziona tutto
awk '/MemFree/{print $2}' /proc/meminfo - la pipe consuma risorse poichè si devono avviare due processi e collegarli.
- Tra sed e awk il secondo è più "pesante" e sinceramente lo trovo del tutto sprecato per fare questo misero lavoro.
Emanuele[/offtopic]
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- j0kers
- Linux 2.x

- Messaggi: 418
- Iscritto il: dom 22 lug 2007, 1:31
- Slackware: 13
- Kernel: 2.6.32
- Desktop: xfce4
Re: Strano comando.. spiegazioni?
Infatti poi è a piacere dell'utente.comunque come giustamente dici questo
comando è molto più elegante di quello scritta in precedenza 
Codice: Seleziona tutto
awk '/MemFree/{print $2}' /proc/meminfo