스크립트 파일을 실행 중입니다. awk
예 를 들어 여러 명령을 파이프하는 스크립트에 while 루프를 작성하고 sed
마지막에는 연산자를 사용하여 출력을 파일에 기록합니다 >
. 파일의 시작 줄에 타임스탬프를 추가하려고 합니다(파일이 첨부되어 있지 않습니다).
스크립트를 실행할 때마다 다음과 같이 파일에 타임스탬프가 기록되어야 합니다.
타임스탬프
파일 데이터
답변1
다음과 같은 두 번째 스크립트를 생성한다고 합니다.
#!/bin/bash
echo -e "$(date)\n" # of course format date to your needs
cat <&0
exit $?
이는 다음과 같이 작동합니다:(... all your commands & pipes...) | new_script >output.file
설명하다:
먼저 날짜와 줄 바꿈을 에코한 다음 STDIN을 연결하고 마지막으로 마지막(cat) 종료 코드로 종료합니다.
답변2
가장 쉬운 방법은 아마도 날짜를 통해 시간을 파일에 쓴 다음 다음과 같이 파일에 데이터를 추가하는 것입니다.
date > file
your_code >> file
사용 사례에 맞는 올바른 형식을 찾으려면 맨페이지에서 날짜를 확인하세요.
답변3
`date "+%Y-%m-%d"`
2016-04-26과 같이 줄 뒤나 앞에 이것을 추가하세요.
귀하의 코드에서printf "this is the output\t`date "+%Y-%m-%d"`"
다음과 같이 읽습니다:
이것은 2016-04-26의 출력입니다.
echo
이것을 사용할 수도 있습니다
다른 유사한 작업을 수행할 수 있습니다.
`date "+%b%d"`
예를 들어 4월 26일
기타 형식 확인의 경우man date
추가 정보:
`(백틱): 명령 대체
` 문자(~가 있는 키에 있음)는 쉘 명령에 사용될 때 매우 중요합니다. 이것은 `가 사용될 때마다 명령 대체가 필요함을 의미합니다. 따라서 `를 사용할 때마다 이러한 백틱 표시에 포함된 명령의 일부가 실행되고(마치 유일한 명령인 것처럼) 해당 명령의 결과는 사용자가 입력한 원래 쉘 명령으로 대체됩니다. 아래에 명확하게 설명되어 있습니다
원천:http://www.codecoffee.com/tipsforlinux/articles/26-2.html
답변4
"기록계"
또한 살펴보고 싶을 수도 있습니다 logger
. 이것은 시스템의 표준 로그 출력 형식으로 시스템 로그(또는 저널)에 메시지를 쓰는 다소 간과되는 명령입니다. 애플리케이션이 자체 로그 파일을 유지 관리하는 경우 이는 도움이 되지 않지만 경우에 따라 표준 시스템 로깅 기능을 사용하는 데 대한 좋은 설계 근거가 있을 수 있습니다. 만약을 대비해 logger
타임스탬프가 추가되어 있습니다.