GNU/Linux >> Linux Esercitazione >  >> Linux

Taglia / Grep e Df -h?

Come posso grep o tagliare il "173G" in "Verf"?

Ho bisogno di questo per lo scripting Unix a scuola.

[email protected]:~/$ df -h /dev/sda2
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sda2       293G    121G  173G   42% /media/Windows

Risposta accettata:

La soluzione più comoda per tale compito è awk :

df -h /dev/sda2 | awk 'NR==2{print$4}'

Oppure, se sono elencate più partizioni, puoi scegliere la linea giusta in base al punto di montaggio:

df -h | awk '$1=="/dev/sda2"{print$4}'

È anche semplice con sed , ma meno utile se è necessario eseguire il debug alcuni mount dopo :

df -h /dev/sda2 | sed -rn '2s/^((\S+)\s+){4}.*/\2/p'

df -h | sed -rn '/^\/dev\/sda2/s/^((\S+)\s+){4}.*/\2/p'

Ciò suppone GNU sed . La sintassi compatibile con POSIX include molti caratteri di escape:

df -h /dev/sda2 | sed -n '2s/^\(\(\S\+\)\s\+\)\{4\}.*/\2/p'

df -h | sed -n '/^\/dev\/sda2/s/^\(\(\S\+\)\s\+\)\{4\}.*/\2/p'

Linux
  1. Regex e grep:flusso di dati e blocchi predefiniti

  2. Come eseguire Grep con multipli e pattern?

  3. Limitare l'uscita di ricerca ed evitare il segnale 13?

  4. Utilizzare Command Grep e individuare?

  5. 7 Linux Grep OR, Grep AND, Grep NOT Esempi di operatori

Come copiare, tagliare e incollare in Vim/Vi

Come Grep per più stringhe e pattern

Manipolazione del testo con sed e grep

Come eseguire la ricerca Grep su tutti i file e in tutte le directory

Esempi e utilizzo di Grep con distinzione tra maiuscole e minuscole

grep per termine ed escludi un altro termine