커지는 로그 파일에 "tail"을 수행하는 쉘 스크립트를 작성하고 있습니다. 이 스크립트는 검색 할 매개 변수를 받아들이고 그 값을 점차적으로 greps합니다. 스크립트로 호출되는 경우 예를 들어동적으로 grep 문자열 만들기
은 다음과 같습니다
logs.sh string1 string2
가 번역한다에 :
tail -f logs.txt | grep string1 | grep string2
이 같은 그렙 문자열의 목록을 건물입니다 :
full_grep_string=""
for grep_string in $*
do
full_grep_string="$full_grep_string | grep $grep_string"
done
문자열이 올바르게 작성되었지만 마침내 tail 명령에 태그를 붙이려고하면 ...
tail -f $LOG_FILE_PATH $full_grep_string
... grep이 적용되지 않으며 필터링되지 않은 로그가 표시됩니다.
여기에 뭔가가 있습니까? 아니면 이것을 할 수있는 더 쉬운 방법이 있습니까?
그냥 작은 설명을 사용 : 스크립트가해야 출력 로그 파일의 라인을 둘다 포함하는 생각이 string1과 string2 중 하나를 포함하는 줄을 찾으려고 했습니까? –
또한 어떤 셸을 사용하고 있습니까? 세게 때리다? –
데비안 lenny에 대해 나는 두 grep 결합이 tail -f와 함께 작동하지 않지만 단지 꼬리로 작동하지 않는다는 문제에 직면해야한다. – tuergeist