날짜 형식을 기준으로 파일 이름을 grep하는 방법

날짜 형식을 기준으로 파일 이름을 grep하는 방법

동일한 폴더에 시간별 및 일별 파일이 있습니다.

data-2015-06-06-00.tsv
data-2015-06-06-01.tsv
data-2015-06-06-02.tsv
data-2015-06-06-03.tsv
data-2015-06-06.tsv
data-2015-06-07-03.tsv
data-2015-06-07-02.tsv
data-2015-06-07.tsv

파일 목록에서 고유한 일일 보고서를 얻는 방법.

data-2015-06-06.tsv data-2015-06-07.tsv만 필요합니다.

답변1

세 가지 추가 옵션:

ls  | grep ^data-...........tsv  

또는:

ls  | grep ^data-"[[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}.tsv"

또는:

ls  | grep ^data-[1-2][0-1][0-9][0-9]-[0-1][0-9]-[0-1][0-9].tsv

답변2

오늘:

 ls date-$(date +%Y-%m-%d)*

어제:

 ls date-$(date +%Y-%m-%d -d yesterday )*

어디

  • date +%Y-%m-%d날짜 형식을 지정합니다.
  • -d yesterday어제 날짜 사용
  • $( )명령을 구성하고 실행하고 출력을 문자열로 사용합니다.

파일의 마지막 수정 시간을 전달할 수 없다고 가정합니다.

편집하다:

오늘부터 매시간 피하세요:

 ls date-$(date +%Y-%m-%d).tsv

일상적인 사용에 대해서는 @lcd047님에게서만 답변을 받았습니다.

관련 정보