【问题标题】:How to show specific word from a specific line?如何显示特定行中的特定单词?
【发布时间】:2019-12-14 18:08:15
【问题描述】:

假设我有一个文本文件,我想只显示第 48 行的第三个单词的回显,我该怎么做?

我能够显示文本文件中的特定行:

sed -n 48p log.txt

但现在我需要找到一种只显示第三个单词的方法...

【问题讨论】:

  • 你可以使用awk - awk 'NR == 48 { print $3 }'
  • 谢谢,但我不明白在哪里插入文本文件的名称?
  • 最后awk 'NR == 48 { print $3 }' file
  • 非常感谢,太完美了!

标签: sed grep cat


【解决方案1】:

只在 sed 中做复杂的事情:

sed -En '48{s/(\s*\S+\s*){2}//;s/\s+.*//;p}'

删除前两个单词,然后删除除剩余的第一个单词之外的所有内容,然后打印。

【讨论】:

    【解决方案2】:

    你可以试试这个:

    sed -n 48p log.txt | cut -d' ' -f3
    

    【讨论】:

      猜你喜欢
      • 2020-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 2014-03-08
      • 2017-09-10
      • 2012-01-29
      相关资源
      最近更新 更多