텍스트에서 특정 단어 가져오기

텍스트에서 특정 단어 가져오기

~에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
    
  • s마지막 필드 인쇄( 또는 있는 경우 h)m

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

관련 정보