Shell脚本/命令用于文本操作

时间:2012-11-06 22:22:42

标签: bash shell sed awk grep

  

可能重复:
  Shell script for formatting output

我有一个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

1 个答案:

答案 0 :(得分: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;
}