Linux作業ログからコマンドだけを抽出する方法(サクラエディタ活用)

背景

Linuxで作業を行うときに、Teratermなどでオペレーションログをファイルに保存しておくことがあります。
しかし後日、同様の作業をもう一度行いたい場合に 「純粋に打鍵したコマンドだけを抽出したい」 という場面があります。

その際に便利なのが、サクラエディタの「grep」機能を使った方法です。


サクラエディタの grep ウィンドウを利用する

サクラエディタには、複数ファイルからパターンを検索できる「grep」機能があります。
この機能を使うことで、ログファイルからコマンド行だけを抽出し、再利用しやすくできます。

手順

1. サクラエディタを起動し、メニューから 検索 → Grep を選択する。
2. 「検索する文字列」に、コマンド入力を示す プロンプト文字列 を入力。
– 例: ]$ (ユーザーの環境によくあるプロンプト例)
3. 「検索するフォルダ」にログファイルの保存先を指定し、ファイル名フィルタを設定(例: *.log)。
4. 「結果出力」を「Grepウィンドウ」にして実行。
5. Grepウィンドウにヒットした行(コマンド部分)が一覧表示される。


実際の grep 指定例

プロンプト例

多くのLinux環境では以下のようなプロンプトが現れます。

  • 一般ユーザー: $
  • rootユーザー: #
  • 環境によっては ]$ のようにカスタマイズされている場合もある

ログ中では、プロンプトの直後にコマンドが入力されているはずです。

grep の検索指定

サクラエディタの grep 検索では、正規表現を使うと便利です。

  • 検索文字列: ]\$ .
  • 意味:
  • ] … プロンプト末尾の ] を指定
  • \$$ を検索(正規表現なので $ はエスケープが必要)
  • . … その直後に1文字以上ある(つまり、コマンドが入力されている行)

この指定により、ログ中の「]$ <コマンド>」という行だけが抽出されます。

抽出例

ログファイル例:

login as: user01
user01@host password:
Last login: Tue Aug 26 14:00:00 2025
[user01@host ~]$ ls -l
total 4
-rw-r--r--  1 user01 user01  123 Aug 26 13:00 test.txt
[user01@host ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   20G   28G  42% /

grep結果:

[user01@host ~]$ ls -l
[user01@host ~]$ df -h

このように「入力したコマンド行」だけが一覧で得られます。


応用

  • ^\[.*\]\$ . とすれば「行頭から [... ]$ の形式」にマッチし、より正確に抽出できる。
  • root作業ログなら # を対象にすればよい。
  • Linuxコマンドラインの grep コマンドでも同じ正規表現が利用可能。

まとめ

  • オペレーションログは証跡として残すだけでなく、再利用可能な「作業マクロ」としても活用できる。
  • サクラエディタの grep機能 を使えば、GUIベースで簡単に「コマンドだけ抽出」ができる。
  • 正規表現 ]\$ . を指定することで、プロンプト付きのコマンド行を効率的に拾い出せる。

サクラエディタGrep

スポンサーリンク
レクタングル大

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大
%d人のブロガーが「いいね」をつけました。