0
스크립트 파일의 출력 로깅에 타임 스탬프를 사용하고 싶습니다. 절단하기 위해 "20120206_104531_944652200"에코 타임 스탬프 생성/에코 문자열에서 파이프를 사용할 수 없음
같은 콘솔
는날짜 + % Y %의 m %의 D_ %의 H %의 M %의 S_의 %의 N
인쇄 무언가 찾은 모든 나노 및 마이크 초
날짜 + % Y % m % d_ % H % M % S_ % N | 이 다소 다른 것으로 보인다 scriptfile에서 나에게 "20120206_104531_944"
같은 것을 제공 SED의 ". \ {6 \} $",,
. 타임 스탬프는 매번 로그 출력이 완료 될 때마다 으로 평가되어야합니다.
이 scriptcode 작동 :
#!/usr/bin/bash
log_prefix1="date +%Y%m%d_%H%M%S_%N"
echo "`${log_prefix1}` blabla"
sleep 3
echo "`${log_prefix1}` blabla"
불행하게도 나는 나노초 만 3 가장 중요한 자리 실행이 얻을 수있는 방법을 찾지 못했습니다. 이 scriptcode은 작동하지 않습니다
#!/usr/bin/bash
log_prefix="date +%Y%m%d_%H%M%S_%N | sed s,\".\{6\}$\",,"
echo "`${log_prefix}` blabla"
sleep 3
echo "`${log_prefix}` blabla"
나는 다음과 같은 오류 메시지가 얻을 :
date: extra operand `|'
Try `date --help' for more information.
그래서, 뭔가는 실행 시간에 나오지하기 위해 파이프 잘못 가고 있습니다.
아이디어가 있으십니까?
'$의 *'- DWIM 호환되지 않는; 예를 들어 공백 문자가 여러 개 연속 된 문자열을 시도해보십시오. 대신에 "$ @"를 사용하십시오. – l0b0
좋은 지적, 업데이트 됨 – Mat