2014-09-19 3 views
1

로그 파일에서 로그의 시간 순서를 확인하고 있습니다. 로그 파일을 배열로 읽으며 형식이 지정된 타임 스탬프 로그 행만 저장합니다.한 줄의 스크립트에서 오류를 표시하지 않으려면 어떻게합니까?

MESSAGE_ONE은 파일에서 읽은 행입니다.

Timestamp1 = $ (에코 "$의 MESSAGE_ONE는"| -c1-20 컷)
Timestamp1date = $ (날짜가 "$ Timestamp1을"-d + % s의) 이 줄은 형식이 잘못 라인을위한 오류가 발생합니다 다음과 같이

나는 오류를 처리 : "$"

경우를 [ = "1"]; 다음
다른

배열이이 방식으로 작동

내가 그것을 원하는에 유효한 로그 줄을 추가 계속; 잘못된 형식의 로그 항목에 의해 생성 된 오류를 억제하기 만하면됩니다. 내가

Timestamp1date = $

을 시도했습니다

는 null 2>는/dev /하지만이 작동하지 않았다 (날짜는 "$ Timestamp1"+ % s이 (가) -d). 나는 cli 명령 다음에 2>/dev/null을 사용하여 모든 오류 출력을 억제하고 싶지 않습니다. 누군가 제발 도와 드릴까요?

답변

1

리디렉션은 서브 쉘 내부에, 그래서 사용해야합니다

Timestamp1date=$(date -d "$Timestamp1" '+%s' 2>/dev/null) 
+0

을 그때 가까웠다. 고맙습니다!!!! –

+0

네, 정말로 환영합니다. – anubhava

관련 문제