질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

txt 파일에서 원하는 부분만 출력하는 질문입니다.

작성자 정보

  • 눈물많은OrOi 작성
  • 작성일

컨텐츠 정보

본문

[job]$ cat log.txt | grep relhum | sed s/"current status"/""/ | tail -5
Tue Jun 03 05:02:57 KST 2014, [INFO]  : Run 8701, status Grab, mode Normal, lastrun 8601, remain 3590, count 0, lastmeas 1.8 0.58, temp 22.8`C, relhum 16%, pump 50mA, hv 2218V.
Tue Jun 03 06:04:39 KST 2014, [INFO]  : Run 8801, status Grab, mode Normal, lastrun 8701, remain 3589, count 0, lastmeas 1.48 0.54, temp 22.8`C, relhum 16%, pump 40mA, hv 2218V.
Tue Jun 03 07:06:20 KST 2014, [INFO]  : Run 8901, status Grab, mode Normal, lastrun 8801, remain 3590, count 0, lastmeas 1.38 0.52, temp 22.5`C, relhum 16%, pump 40mA, hv 2218V.
Tue Jun 03 08:08:01 KST 2014, [INFO]  : Run 9001, status Grab, mode Normal, lastrun 8901, remain 3590, count 0, lastmeas 1.38 0.52, temp 22.5`C, relhum 15%, pump 50mA, hv 2236V.
Tue Jun 03 09:09:44 KST 2014, [INFO]  : Run 9101, status Grab, mode Normal, lastrun 9001, remain 3589, count 0, lastmeas 1.2 0.49, temp 22.5`C, relhum 15%, pump 50mA, hv 2236V.
[job]$ 

sed 명령으로 'current status' 삭제를 했습니다. 그런데도 한줄이 너무 길어서 굵은색 부분만 출력 할수 있는 명령이나 방법을 찾고 있습니다.
제가 원하는 출력은

Tue Jun 03 05:02:57 Run 8701 temp 22.8`C, relhum 16%, pump 50mA, hv 2218V
Tue Jun 03 06:04:39 Run 8801 temp 22.8`C, relhum 16%, pump 40mA, hv 2218V
Tue Jun 03 07:06:20 Run 8901 temp 22.5`C, relhum 16%, pump 40mA, hv 2218V
Tue Jun 03 08:08:01 Run 9001 temp 22.5`C, relhum 15%, pump 50mA, hv 2236V
Tue Jun 03 09:09:44 Run 9101 temp 22.5`C, relhum 15%, pump 50mA, hv 2236V

이렇게 출력을 원합니다 만, 방법이 없다면 temp 부터 뒷쪽만 나와도 괜찮습니다.

관련자료

댓글 2

정우영님의 댓글

  • 정우영
  • 작성일
뭐 sed를 몇번 써서 불필요한 부분 날려 버림 될 듯 한데요~
 cat a.txt | grep relhum | sed "s/KST.*://g" | sed "s/,.*temp/temp/g" | tail -5
Tue Jun 03 05:02:57  Run 8701temp 22.8`C, relhum 16%, pump 50mA, hv 2218V.
Tue Jun 03 06:04:39  Run 8801temp 22.8`C, relhum 16%, pump 40mA, hv 2218V.
Tue Jun 03 07:06:20  Run 8901temp 22.5`C, relhum 16%, pump 40mA, hv 2218V.
Tue Jun 03 08:08:01  Run 9001temp 22.5`C, relhum 15%, pump 50mA, hv 2236V.
Tue Jun 03 09:09:44  Run 9101temp 22.5`C, relhum 15%, pump 50mA, hv 2236V.


또는 awk 쓰던가요~
cat log.txt | awk '{print $1" "$2" "$3" "$4" "$9" "$10" "$24" "$25" "$26" "$27" "$28" "$29" "$30" "$31}'
Tue Jun 03 05:02:57 Run 8701, temp 22.8`C, relhum 16%, pump 50mA, hv 2218V.
Tue Jun 03 06:04:39 Run 8801, temp 22.8`C, relhum 16%, pump 40mA, hv 2218V.
Tue Jun 03 07:06:20 Run 8901, temp 22.5`C, relhum 16%, pump 40mA, hv 2218V.
Tue Jun 03 08:08:01 Run 9001, temp 22.5`C, relhum 15%, pump 50mA, hv 2236V.
Tue Jun 03 09:09:44 Run 9101, temp 22.5`C, relhum 15%, pump 50mA, hv 2236V.

눈물많은OrOi님의 댓글의 댓글

  • 눈물많은OrOi
  • 작성일
답변 감사드립니다.
해결이 한방에 됐습니다. ^^

공지사항


뉴스광장


  • 현재 회원수 :  60,284 명
  • 현재 강좌수 :  36,959 개
  • 현재 접속자 :  310 명