从文本中获取特定单词

从文本中获取特定单词

里面FILE.txt

Interval: 5s
Interval: 3m
Interval: 1h
Interval: 7s
Interval: 5m
Interval: 3h

我想做的事:

  1. 仅打印包含 s 的单词(因此输出将为 5s 和 7s)
  2. 仅打印包含 s 或 m 或 h 的单词

这个怎么做?

答案1

尝试这个,

只打印有 s 的单词

echo $TEXT | grep -o '[0-9]*s'
5s
7s

仅打印包含 s 或 m 或 h 的单词

echo $TEXT | grep -o '[0-9]*[smh]'
5s
3m
1h
7s
5m
3h

来自男人:

  • grep -o仅打印匹配行的匹配(非空)部分,每个此类部分位于单独的输出行上。

对于您更新的问题:

  • 打印最后一个字段(如果有)s

    awk '$NF~/s/{print $NF}' FILE.txt
    5s
    7s
    
  • 打印最后一个字段(如果有sorh或)m

     awk '$NF~/s/ || $NF~/m/ || $NF~/h/ {print $NF}' FILE.txt
     5s
     3m
     1h
     7s
     5m
     3h
    

相关内容