주어진 값보다 큰 파일을 오름차순으로 나열

주어진 값보다 큰 파일을 오름차순으로 나열

표준 접두사가 붙은 로그 파일이 있습니다.

dev-app.0001
dev-app.0002
dev-app.0003
dev-app.0004
dev-app.0005
dev-app.0006
dev-app.0007
dev-app.0008

이 로그 파일이 생성된 시간이 포함된 메타데이터 파일이 있습니다.

예: 5AM dev-app.0005 is created. dev-app.0005보다 큰 파일을 오름차순으로 나열하고 싶습니다.

예상 출력:

my_file=dev-app.0005

$my_file보다 크거나 같은 파일 나열

dev-app.0005
dev-app.0006
dev-app.0007
dev-app.0008

답변1

이 시도,

 my_file=dev-app.0005
 ls -1 | sed -n "/$my_file/,//p"
  • -1각 출력 행에 대해 하나의 항목을 인쇄합니다 ls.
  • sed -n '/dev-app.0005/,//p'패턴을 일치시킨 후 모든 것을 인쇄합니다dev-app.0005

답변2

이것도 시도해 보세요(msp9011의 게시물에서 훔쳤음)

$ read TIME my_file REST < metadatafile
$ ls dev* | sed -n "/$my_file/,\$p"
dev-app.0005
dev-app.0006
dev-app.0007
dev-app.0008

답변3

bash, 여기서 shopt -s extglob: 필요하지 않은 4개 파일을 제외한 모든 파일:

ls !(dev-app.000[1-4])

바라보다패턴 매칭 bash 매뉴얼에서.

답변4

나는 내 자신의 질문에 대답합니다. 또 다른 간단한 방법을 찾았습니다.

ls | grep dev-app.| awk '$1 >= "dev-app.0005"'

관련 정보