1

重複の可能性:
出力をフォーマットするためのシェルスクリプト

以下のテキストを吐き出す jacl スクリプトがあります。より適切にフォーマットしたいのですが、どうすればこれを達成できますか?

Stats for Cell=CELL Node=N01 Server=APP at 15:48:06
Stats name=WebContainer, type=threadPoolModule
name=PoolSize, ID=4, description=The average number of threads in a pool., unit=N/A, type=BoundedRangeStatistic, lowWaterMark=1, highWaterMark=50, current=4, integral=9.16145228E8, lowerBound=50, upperBound=50
Stats name=ORB.thread.pool, type=threadPoolModule
name=PoolSize, ID=4, description=The average number of threads in a pool., unit=N/A, type=BoundedRangeStatistic, lowWaterMark=1, highWaterMark=10, current=1, integral=1.26898089E8, lowerBound=10, upperBound=50
Stats name=WorkManager.BPENavigationWorkManager, type=threadPoolModule
name=PoolSize, ID=4, description=The average number of threads in a pool., unit=N/A, type=BoundedRangeStatistic, lowWaterMark=1, highWaterMark=10, current=5, integral=8.53089448E8, lowerBound=1, upperBound=5
Stats name=WorkManager.BPESchedulerWorkManager, type=threadPoolModule
name=PoolSize, ID=4, description=The average number of threads in a pool., unit=N/A, type=BoundedRangeStatistic, lowWaterMark=1, highWaterMark=1, current=0, integral=0.0, lowerBound=1, upperBound=5Scrits commands to convert the above to below.(Awk or sed ?)

出力をどのように見たいか。

CELL:N01:APP at 15:48:06
WebContainer threadPool current=4
ORB.thread.pool threadPool current=1
WorkManager.BPENavigationWorkManager threadPool current=5
WorkManager.BPESchedulerWorkManager threadPool current=0
4

1 に答える 1

0

フォーマットについては、perl が適しているかもしれません。コマンドラインから perl を使用することもできます。http://www.perl.com/pub/2004/08/09/commandline.html

あなたの目的のために、次のような単純なperlscriptを書くことをお勧めします

while(<>){
 chomp;
 $line = $_;
 $line =~ s/Stats for Cell=//;
 $line =~ s/ Node=/:/;
 ...etc
 print $line;
}
于 2012-11-06T22:33:01.203 に答える