오늘 날짜를 가져 와서 파일 이름으로 사용하십시오


10

명령 줄을 사용하여 이름에 오늘 날짜가 포함 된 로그 파일을 만들고 싶습니다 (예 : 오늘은 05/17/2011이므로 파일 이름은이어야 함 log051711).

파일 ( touch filename) 을 만드는 방법을 알고 있지만 오늘 날짜를 얻는 방법을 모르겠습니다. 에 대한 매뉴얼을 보았지만 date실제로 출력 형식을 지정할 수없는 것 같습니다.

도움을 주시면 감사하겠습니다.

답변:


10

'+ FORMAT'매개 변수를 사용하여 출력을 형식화 할 수 있습니다 (예 :

touch "log$(date +'%m%d%y')"

FORMAT에서 사용할 수있는 시퀀스에 대한 맨 페이지를 참조하십시오.


젠장, 36 초가 너무 느립니다. ;-)
htorque

1
나는 이것을 cron 작업에서 사용하기 위해 % 부호를 피해야한다고 알았습니다.touch "log$(date +'\%m\%d\%y')"
Louis B.

3

명령 실행

echo "myfilename-"`date +"%d-%m-%Y"`

이것을 출력으로 제공합니다.

myfilename-21-02-2014

실제로 이것은 인쇄 myfilename-date +%d-%m-%Y됩니다.
Adaephon

True .. MyFileName은 접두사 일뿐입니다. 필요한 경우 다른 이름으로 유지할 수 있습니다. echo date +"%d-%m-%Y" 이 정도면 충분합니다 ... 21-02-2014 날짜 만 인쇄합니다
Sreedhar GS

아, 이제 나는 본다 : 당신의 대답에`가 나타나지 않기 때문에 혼란스러워했습니다. 이는 코드 블록을 나타 내기 위해 askubuntu에서 사용하기 때문입니다. 백틱으로 묶거나 4 개의 공백이있는 코드로 단락을 들여 써서 코드를 표시해야합니다. 초보자는 아마도 에디터 위의 메뉴를 사용하여 제출하기 전에 텍스트 상자 아래의 미리보기에서 게시물을 확인해야합니다.
Adaephon

0

가능한 영혼 중 하나 :

date +log%y%m%d | xargs touch

창조 log111017


0

나는 누군가 다른 사람이 이것을하는 더 좋은 방법을 가지고 있다고 확신하지만 당신이 월 일을 원한다고 가정하면 이것이 작동해야합니다.

touch log`date +%m%d%y`  

원하는 순서대로 % m, % d, % Y를 재정렬 할 수 있습니다. 날짜 매뉴얼 페이지에 추가 형식에 대한 자세한 정보가 있습니다.


0

파이썬도이 일을 할 수 있습니다. 작은 스크립트는 다음과 같습니다.

#!/usr/bin/env python
import time,os

date=time.gmtime()
month = str(date.tm_mon).zfill(2)
day=str(date.tm_mday).zfill(2)
year=str(date.tm_year)[-2:]
fname = 'log' + month + day + year

with open(fname,'a') as f:
    os.utime(fname,None) 

여기서 아이디어는 간단합니다. time.gmtime()현재 날짜를 가져오고 반환되는 구조에서 특정 필드를 추출하고 적절한 필드를 문자열로 변환하고 결과 이름으로 파일 이름을 만드는 데 사용합니다.

시운전 :

$ ls
touch_log_file.py*
$ ./touch_log_file.py                                                                                             
$ ls
log010317  touch_log_file.py*

작성 시점은 2017 년 1 월 3 일입니다. 따라서 결과 파일 이름은 적절하게 월, 일, 년- log010317

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.