Linux命令行帮助|从文件中提取特定部分



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

        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 

我想提取具有success状态的numbers。在linux中是否有任何方法使用命令行(grep, sed)提取上述数据?? ?谢谢大家……

grep只解决方案:

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

或与一起使用,仅:

awk '$4=="success"&&$0=$3' input

根据成功状态打印数字-:

 awk '$4 ~ /success/ {print $3}' logfile

你可以做

(grep 'success' | cut -d ' ' -f 3) <$file
cat file | grep success | awk '{print $3}'

使用perl:

perl -ne '/success/ && split && print "$_[2]n"' inputfile

最新更新