Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 输出最后六个字符串_Linux_Apache_Grep - Fatal编程技术网

Linux 输出最后六个字符串

Linux 输出最后六个字符串,linux,apache,grep,Linux,Apache,Grep,我正在尝试解析apache日志文件。基本上,我想在日志文件中grep 11:00,然后输出当时发生的每行的最后六位数字 我不知所措。有人能帮忙吗?像这样的事情可以解决: awk '/11:00/ {print substr($0,length($0) - 6)}' file 解释 /11:00/{}匹配包含11:00的行,并执行{}中的操作 print substr($0,length($0)-6)打印这些行的最后6个字符:从“字符串的长度-6”开始打印,因为它打印从该点到结尾的所有内容

我正在尝试解析apache日志文件。基本上,我想在日志文件中grep 11:00,然后输出当时发生的每行的最后六位数字


我不知所措。有人能帮忙吗?

像这样的事情可以解决:

awk '/11:00/ {print substr($0,length($0) - 6)}' file
解释
  • /11:00/{}
    匹配包含
    11:00
    的行,并执行
    {}
    中的操作
  • print substr($0,length($0)-6)
    打印这些行的最后6个字符:从“字符串的长度-6”开始打印,因为它打印从该点到结尾的所有内容
试验
更新 根据您的评论:


嘿,我刚检查过,它能用!除了我的错误。。这是最后一次了 我在日志中需要的字段,它的长度实际上是不同的,所以我 我猜我需要一些方法来“削减”最后一次之后的一切 空间!–

让我们尝试以下方法:

awk '/11:00/ {print $NF}' file
解释
  • /11:00/{}
    匹配包含
    11:00
    的行,并执行
    {}
    中的操作
  • print$NF
    打印最后一个字段
试验
你的方法是…?我试过这个:grep“11:00”>文件和perl-F,-lane“print$F[-6]”文件不走运。我也试过。。输出=
grep“11:00”
;echo${output:-6}我总是很惊讶人们能用awk做这样的事情。我觉得它像克林贡人!我试试这个,谢谢!很高兴看到它可能对你有用,@user272812!既然你是新来的,记住如果你的问题已经解决了,你可以把答案标记为接受。您可以点击答案旁边的复选标记,将答案从空心切换为绿色。看看你是否有任何疑问!嘿,我刚检查过,它能用!除了我的错误。。这是我在日志中需要的最后一个字段,它的长度实际上是不同的,所以我猜我需要某种方式在最后一个空格后“剪切”所有内容@user272812则速度更快:
{print$NF}
成功。检查我的最新答案。
awk '/11:00/ {print $NF}' file
$ cat a
hello bye bye
11:00 hello bye bye basd
11:23 hello this is
another line
11:00 with some text
$ awk '/11:00/ {print $NF}' a
basd
text