유닉스, 리눅스 ls, find질문
글쓴이: wongidos / 작성시간: 월, 2018/04/02 - 5:01오후
안녕하세요.
ls, find명령어를 잘 몰라서 문의 드립니다.
파일 사이즈나 생성 순서가 아닌 파일 이름 기준입니다.
인자: completed_20FEB2018_0800.csv
1. completed_20FEB2018_0800.csv 보다 큰 것 중에
2. 오름차순해서
3. 제일 위 1건….
Ex)
1. file_01MON2018_0000.zip
2. file_01MON2018_0800.zip
3. file_01MON2018_1600.zip
4. file_02MON2018_0000.zip
5. file_02MON2018_0800.zip
6. file_02MON2018_1600.zip
args가 3이면 4,5,6중에 4를 가져옴.
args가 1이면 2,3,4,5,6중에 1를 가져옴.
Args가 6이면 null..
이게 가능할까요?
Forums:
음 ..
sed 'Nq;d' 로 N 번째 라인만 출력할 수 있습니다.
ls -1 | sed '2q;d' 과 같이 입력하면 두 번째 파일명만 출력 됩니다.
저 N 을 원하는 숫자+1 로 바꿔주면, 입력한 숫자의 다음 라인이 출력되겠죠.
추가> sed -n 'Np' 도 위와 마찬가지로, N 번째 라인만 출력합니다.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
답변 감사합니다. 한가지 더 문의 드립니다.
파일명 중에 file_01MON2018_0800.zip보다 크다는 어떤 명령어를 쓰야 하는지요?
즉, ls 된 것 중에 파일명 기준 file_01MON2018_0800.zip보다 큰것을 가져오고 싶습니다.
file_01MON2018_0000.zip
file_01MON2018_0800.zip
file_01MON2018_1600.zip
file_02MON2018_0000.zip
file_02MON2018_0800.zip
file_02MON2018_1600.zip
음 ..
크다 작다는 개념에 매몰되지 말고 순서를 생각하세요.
ls 는 기본적으로 alphanumeric sort 를 해서 결과를 내주니..
원하는 파일명을 찾은 후에 그 다음 라인만 출력해 주면 되겠죠.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
감사합니다.
대단하십니다.^^
댓글 달기