몇 분을 지정할 수있는 작은 bash 스크립트를 작성하려고하는데 마지막 X 분의 로그 파일 행이 표시됩니다. 가 나는 그러나 나의 스크립트에서, CLI에Bash 스크립트 : sed에서 변수/매개 변수 사용
sed -n '/time/,/time/p' LOGFILE
나오지이 완벽하게 작동 사용하고, 선을 얻으려면, 그렇지 않습니다.
# Get date
now=$(date "+%Y-%m-%d %T")
# Get date minus X number of minutes -- $1 first argument, minutes
then=$(date -d "-$1 minutes" +"%Y-%m-%d %T")
# Filter logs -- $2 second argument, filename
sed -n '/'$then'/,/'$now'/p' $2
나는 다른 접근을 시도하고 그들 중 누구도 제대로 작동하지 :
result=$(sed -n '/"$then"/,/"$now"/p' $2)
sed -n "/'$then'/,/'$now'/p" "$2"
sed -n "/$then/,/$now/p" $2
sed -n "/$then/,/$now/p" "$2
모든 sugesstions를? 스크립트는 어떠한 출력을 생성하지 않기 때문에 게재 오류가 없습니다 : 내가 데비안 5 일 오전, echo $SHELL
/bin/sh
EDIT 말한다. 로그 파일에서 모든 항목이 다음과 같은 날짜로 시작됩니다. 2013-05-15 14:21:42,794
로그에서 한 행을 표시 할 수 있습니까? – choroba