はじめに
Linuxなどでプロセスやリソースの状態を確認した時、結果をExcelファイルとして保存したいことがあります。この時、そのままコピペするのではなくカラムごとに整えて保存したいです。
例えば、psコマンドの結果が以下だったとします。
[root@centos7-zm4-1 ~]# ps -aux --sort -%cpu | head -n 10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
mysql 1034 1.9 42.3 1329408 421980 ? Ssl 23:25 0:11 /usr/sbin/mysqld
root 25 0.2 0.0 0 0 ? S 23:25 0:01 [kworker/0:1]
root 1 0.1 0.3 125516 3948 ? Ss 23:25 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 659 0.1 0.6 305620 6652 ? Rsl 23:25 0:00 /usr/bin/vmtoolsd
root 660 0.1 0.3 90568 3200 ? Rs 23:25 0:01 /sbin/rngd -f
root 2 0.0 0.0 0 0 ? S 23:25 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? S< 23:25 0:00 [kworker/0:0H]
root 5 0.0 0.0 0 0 ? S 23:25 0:00 [kworker/u256:0]
root 6 0.0 0.0 0 0 ? S 23:25 0:00 [ksoftirqd/0]
この結果をそのままExcelに貼り付けるとA列だけに貼り付けられます。
結果は画像のように列単位で保存したいので対応方法をご紹介します。
対応方法
テキストエディタから正規表現を使って置換します。管理人は「EmEditor」を使用していますが、正規表現が使用できるテキストエディタであれば何でも良いです。
テキストエディタにコマンドの結果を貼り付けます。
「Ctrl + H」キーで置換画面を表示します。検索する文字列に「 +」(半角スペースとプラス記号)、置換後の文字列に「\t」(エンマークとアルファベットのt)を入力します。「すべて置換」ボタンをクリックします。
複数の半角スペースがタブに置換されます。
この結果をコピーし、Excelに貼り付けます。これでカラムごとに貼り付けできます。
最後のCOMMANDのカラムは、半角スペースが含まれていたので分離してしまいました。ここは個別に修正する必要があります。このようにカラムを整えると見やすいし、データ加工がしやすいのでオススメです。
コメント