拥有以下文件:
<tr class="in">
<th scope="row">In</th>
<td>1.2 kB/s (0.0%)</td>
<td>8.3 kB/s (0.0%) </td>
<td>3.2 kB/s (0.0%) </td>
</tr>
<tr class="out">
<th scope="row">Out</th>
<td>6.7 kB/s (0.6%) </td>
<td>4.2 kB/s (0.1%) </td>
<td>1.5 kB/s (0.6%) </td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我想获取每秒之间的值<td></td>(并将其保存到文件),如下所示:
8.3
4.2
Run Code Online (Sandbox Code Playgroud)
我的代码到目前为止:
# get the lines with <td> tags
cat tmp.txt | grep '<td>[0-9]*.[0-9]' > tmp2.txt
# delete whitespaces
sed -i 's/[\t ]//g' tmp2.txt
# remove <td> tag
cat tmp2.txt | sed "s/<td>//g" > tmp3.txt
# remove "kB/s (0.0%)"
cat tmp3.txt | …Run Code Online (Sandbox Code Playgroud) 我正确配置Log4j时遇到问题.我希望Log4j能够在午夜时将我的catalina.out文件旋转,如下所示
:log4j.properties:
log4j.rootLogger=INFO, CATALINA
# Define all the appenders
log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File=/var/log/tomcat7/catalina.out
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd-HH-mm'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern =%d{HH:mm:ss} %5p [%t] - %m%n
Run Code Online (Sandbox Code Playgroud)
配置完成后,我重新启动了Tomcat,所有内容都写入:
/var/log/tomcat7/catalina.out
Run Code Online (Sandbox Code Playgroud)
为了测试我的配置,我将当前日期时间更改为23:59:59:
#ls -l /var/log/tomcat7/
-rw-r--r-- 1 tomcat7 tomcat7 5840 4. May 00:00 catalina.out
Run Code Online (Sandbox Code Playgroud)
如你所见,它在午夜没有旋转...(?)
重新启动Tomcat时,它完全正常:
#ls -l /var/log/tomcat7/
-rw-r--r-- 1 tomcat7 tomcat7 5840 4. May 13:37 catalina.out
-rw-r--r-- 1 tomcat7 root 2395 4. May 00:00 catalina.out.*CURRENTDATE*.log
Run Code Online (Sandbox Code Playgroud)
甚至可以在不重启Tomcat的情况下旋转我的日志文件吗?
谢谢,马利
/\d/ # contains a digit
/^\D*$/ # doesn't contain a digit
/[abc]/ # contains either the letter a, b, or c
/^[^abc]*$/ # doesn't contain a, b, or c
/foo|bar/ # contains foo or bar
/???????/ # doesn't contain foo or bar
Run Code Online (Sandbox Code Playgroud)
谁可以帮我这个?我找不到任何解决方案,但我需要一个正则表达式来否定这个没有任何可编程逻辑.
我有一个XML文件,我需要使用Perl传输到列表(不使用XSLT).
这是我的(简单,删除了10个以上的属性,以便于阅读!)XML:
...
<XMLTAG ID="1" name="NAME1" status="0" date1="24.05.2012 13:37:00" date2="25.05.2012 13:37:00" />
<XMLTAG ID="2" name="NAME2" status="1" date1="24.05.2012 13:37:00" date2="25.05.2012 13:37:00" />
<XMLTAG ID="3" name="NAME3" status="0" date1="24.05.2012 13:37:00" date2="25.05.2012 13:37:00" />
...
Run Code Online (Sandbox Code Playgroud)
到目前为止我得到了什么:
my $input = in.xml;
my $output = out.txt;
# open input
open( INPUT, $input )
|| die "Can't find $input: $_";
# open output
open( OUTPUT, ">$output" )
|| die "Can't find $output: $_";
# run until perl returns undef (at the end of the file)
while (<INPUT>) …Run Code Online (Sandbox Code Playgroud)