0

假设我有一个日志,其中包含以下格式的数据

        Time           number status  
2013-5-10 19:18:43.430 123456 success 
2013-5-10 19:28:13.430 134324 fail 
2013-5-10 19:58:33.430 456456 success 

我想提取状态numberssuccesslinux中有没有使用命令行(grep,sed)来提取数据的方法。?? 谢谢大家..

4

5 回答 5

2

grep 唯一解决方案:

grep -Po '\d+(?= success)' file

仅使用 awk

awk '$4=="success"&&$0=$3' input
于 2013-05-16T10:57:44.627 回答
1
cat file | grep success | awk '{print $3}'
于 2013-05-16T10:54:24.383 回答
1

你可以做

(grep 'success' | cut -d ' ' -f 3) <$file
于 2013-05-16T10:54:49.630 回答
1

这会根据成功状态打印数字:

 awk '$4 ~ /success/ {print $3}' logfile
于 2013-05-16T10:56:44.887 回答
1

使用 perl:

perl -ne '/success/ && split && print "$_[2]\n"' inputfile
于 2013-05-16T11:12:07.497 回答