Salah satu rekan saya mengajukan pertanyaan – Bagaimana cara menghapus baris 'n' Pertama/Terakhir dari output perintah di Shell? Misalnya, ia ingin memangkas semua baris yang tidak perlu dari output perintah – systemctl
dan cetak hanya baris yang diperlukan. Perintah systemctl
berisi beberapa baris generik di akhir output seperti yang ditunjukkan di bawah ini. Yah, dia ingin menghapus garis-garis itu dan mencetak sisanya.
Di bawah ini adalah perintah sebelum memangkas baris yang tidak perlu.
$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'.
Pada output di atas, dia hanya ingin membuat daftar layanan dengan menghapus 7 baris terakhir (spasi juga merupakan satu baris).
Solusi :Gunakan head
perintah untuk menghapus 7 baris terakhir seperti yang ditunjukkan di bawah ini:
$ systemctl -a --type=service | head -n -7
Catatan :simbol - symbol
sebelum 7, yang sangat penting.
Cara menghapus n
pertama baris dari output perintah shell
Untuk menghapus n
pertama garis dari output perintah shell gunakan tail
. Contoh perintah di bawah ini menghapus 7 baris pertama dari output perintah shell.
Catatan :simbol + symbol
sebelum 7, yang sangat penting.
$ systemctl -a --type=service | tail -n +7