次のチャット履歴があります。
(15:12:56) rubo77: mist migration
(15:05:22) hans: ist hugo da?
(15:36:13) rubo77: test
(13:30:15) rubo77: what are the access data?
(15:06:38) [email protected]: user : [email protected] (https://somewhere.de:8080/index.php#)
(15:06:38) [email protected]: password : test
sed
ユーザー名を別の色に変更するにはどうすればよいですか?
それともこれより簡単なツールがありますかsed
?
答え1
以下を使用できます。
sed 's/) \(.*\):/) \x1b[31m\1\x1b[0m:/'
たとえば、
cat 1| sed 's/) \(.*\):/) \x1b[31m\1\x1b[0m:/'
バージョン2:
COLOR=32
sed 's/) \(.*\):/) \x1b['${COLOR}'m\1\x1b[0m:/'
色番号を変更できます。
バージョン 3:
COLOR=32
sed 's/) \([[:alpha:][:digit:][:space:]@\.]*\):/) \x1b['${COLOR}'m\1\x1b[0m:/1'
答え2
awk
最も単純でなければなりません。
awk '{$2="\033[01;31m"$2"\033[00m"; print $0}' logfile
答え3
ccze
を使用して出力に色を割り当てることができます。
この状況に最適化されていませんが、良いパターンをたくさん提供します。
答え4
まあ、あなたが望むもの(マルチユーザーの着色)は可能ですが、完全に簡単ではありません。
要求された操作を実行するために非常に長いsed式を生成できます;
。これは、このシェルスクリプトが実行するアクションであり、クラスタで使用されるアクティビティを表します。
http://fotis.web.cern.ch/fotis/QTOP/
(スクリーンショットの最後の部分は、説明されているユースケースのインスタンスを示しています。)
アイデアは、qtop.colormapを解析し、それをsed式にコンパイルして使用することです。
警告:シェルスクリプトと深いsed表現の使用により、ソフトウェアエンジニアリングの面でメンテナンスが非常に悪いです。しかし、もちろんできます。