sed에서 원하는 문자열을 추출하는 방법
1372 단어 ShellScriptsed
여러가지 시험해, 도와 주고, 드디어 할 수 있었습니다. 메모해야!
하고 싶은 일
로그 파일에서 2016-xx-xx 날짜 부분과 마지막 insert number 숫자를 추출하여
파일에 저장합니다.
~이미지~
원래 로그 파일
log.txt
/home/Logs/log.20160101:2016-01-01 07:32:25 INFO: insert number [101]
/home/Logs/log.20160102:2016-01-02 07:32:18 INFO: insert number [202]
/home/Logs/log.20160103:2016-01-03 07:32:20 INFO: insert number [303]
/home/Logs/log.20160104:2016-01-04 07:32:28 INFO: insert number [404]
/home/Logs/log.20160105:2016-01-05 07:32:16 INFO: insert number [505]
결과 파일
result.txt
2016-01-01 101
2016-01-02 202
2016-01-03 303
2016-01-04 404
2016-01-05 505
실행 방법
실행 스크립트
cat log.txt | sed -e 's/.*\([0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\).*insert number \[\([0-9]\+\)\]/\1 \2/g' > result.txt
참고 : 문자열에서 특정 문자 추출
※ sed 부분의 설명
괄호()로 데이터의 범위는 특정할 수 있다.
지정의 1번과 2번째의 내용\1\2에 옮겨놓는다. (\는, 아래의 화상에서는 원 마크로 표시)
Reference
이 문제에 관하여(sed에서 원하는 문자열을 추출하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MeganLiu/items/abd61154334b2c7a7b81텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)