Uno dei miei colleghi ha presentato una query:come eliminare le prime/ultime righe "n" dall'output di un comando in Shell? Ad esempio, voleva eliminare tutte le righe non necessarie dall'output di un comando – systemctl
e stampa solo le righe necessarie. Il comando systemctl
conteneva poche righe generiche alla fine dell'output come mostrato di seguito. Bene, vuole rimuovere quelle righe e stampare il resto.
Di seguito è riportato il comando prima di tagliare le righe non necessarie.
$systemctl -a --type=service ...... systemd-tmpfiles-setup.service loaded active exited Create Volatile Files and Directories systemd-udev-trigger.service loaded active exited udev Coldplug all Devices systemd-udevd.service loaded active running udev Kernel Device Manager systemd-update-done.service loaded active exited Update is Completed systemd-update-utmp-runlevel.service loaded inactive dead Update UTMP about System Runlevel Changes systemd-update-utmp.service loaded active exited Update UTMP about System Boot/Shutdown systemd-user-sessions.service loaded active exited Permit User Sessions systemd-vconsole-setup.service loaded active exited Setup Virtual Console tuned.service loaded active running Dynamic System Tuning Daemon LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 92 loaded units listed. To show all installed unit files use 'systemctl list-unit-files'.
Nell'output sopra, vuole elencare solo i servizi rimuovendo le ultime 7 righe (anche lo spazio è una riga).
Soluzione :Usa head
comando per rimuovere le ultime 7 righe come mostrato di seguito:
$ systemctl -a --type=service | head -n -7
Nota :il simbolo - symbol
prima delle 7, che è molto importante.
Come rimuovere il primo n
righe dall'output di un comando della shell
Per rimuovere il primo n
righe dall'output di un comando della shell usa tail
. Sotto il comando di esempio rimuove le prime 7 righe dall'output del comando della shell.
Nota :il simbolo + symbol
prima delle 7, che è molto importante.
$ systemctl -a --type=service | tail -n +7