Contents
背景
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ベースで簡単に「コマンドだけ抽出」ができる。
- 正規表現
]\$ .
を指定することで、プロンプト付きのコマンド行を効率的に拾い出せる。