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

时间:2013-05-16 10:53:07

标签: linux command-line sed grep

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

        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 

我想提取具有numbers状态的success。 在linux中有没有办法使用命令行(grep,sed)来提取所提到的数据。 ?? 谢谢大家..

5 个答案:

答案 0 :(得分:2)

grep only 解决方案:

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

或仅使用 awk

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

答案 1 :(得分:1)

cat file | grep success | awk '{print $3}'

答案 2 :(得分:1)

你可以做到

(grep 'success' | cut -d ' ' -f 3) <$file

答案 3 :(得分:1)

根据成功状态打印数字 -

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

答案 4 :(得分:1)

使用perl:

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