GNU/Linux >> Linux の 問題 >  >> Linux

シェルのコマンド出力から最初/最後の「n」行を削除するにはどうすればよいですか?

同僚の1人が、シェルのコマンドの出力から最初/最後の「n」行を削除する方法について質問しました。たとえば、彼はコマンドの出力から不要な行をすべて削除したいと考えていました– systemctl 必要な行だけを印刷します。コマンドsystemctl 以下に示すように、出力の最後にいくつかの一般的な行が含まれていました。ええと、彼はそれらの行を削除して残りを印刷したいと思っています。

以下は、不要な行を削除する前のコマンドです。

$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'.

上記の出力では、最後の7行を削除してサービスのみを一覧表示したいと考えています(スペースも1行です)。

解決策 headを使用します 最後の7行を削除するコマンド 以下に示すように:

$ systemctl -a --type=service | head -n -7

- symbol 7より前。これは非常に重要です。

最初のnを削除する方法 シェルコマンドの出力からの行

最初のnを削除するには 行 シェルコマンドの出力からtailを使用します 。以下のコマンド例は、シェルコマンドの出力から最初の7行を削除します。

+ symbol 7より前。これは非常に重要です。

$ systemctl -a --type=service | tail -n +7

Linux
  1. 以前のシェルからバックグラウンドジョブを回復する方法は??

  2. Sedを使用してテキストファイルから複数のランダム行を削除する方法は?

  3. Grub2のコマンドからの出力に等しい変数を設定するにはどうすればよいですか?

  1. シェルコマンドを使用してASCIIファイルの最初のN行を削除するにはどうすればよいですか?

  2. コマンドまたはシェルスクリプトの出力がStdoutまたはStderrであるかどうかを確認する方法は?

  3. シェル コマンドを使用して mysql データベースを削除する方法

  1. PHPからシェルコマンドが存在するかどうかを確認する方法

  2. シェル コマンドの出力の最初の行を取得する

  3. シェルから Vim コマンドを実行するには?