2011-08-23 2 views
-4

으로 이동합니다. volumeA에 일련의 zip 파일을 만드는 hypotetical 프로세스가 있습니다.최신 파일 5 개를 제외한 모든 파일을 새 디렉터리

프로세스는 다중 스레드 프로세스이며 한 번에 5 개의 zip 파일을 작성합니다. 당신은 volumeA 공간이 부족

+0

내가 다섯 개 최신 파일에게 문제를 얻을 관리 : 가장 최근의 5

하지만 모든 즉 lshead에 대한 man 페이지를 참조하십시오 = $ (ls -tr | tail -n 5) new_dir = $ 1 if [$ new_dir! == ""]; 다음 의 printf "% s의 \ 없음" "$ {FILES [@]} $ {FILES [@]}" $ i가 $ new_dir 이 다른 는 에코 수행 MV을의 "를 제공하십시오"에서 내가 대한 " 파일을 이동할 디렉토리 "; fi' – jaxxstorm

+0

스크립트 작성 - 숙제. 우리가 도울 수 있기 전에 몇 가지 일을 보여주십시오. – BRampersad

답변

1

이 숙제처럼 조금 보이는 volumeB하는 volumeA에서 최근 5 개 회 기록 된 zip 파일을 제외한 모든 이동하는 스크립트 공예,하지만 재미있을 수 있습니다. 의는 ... 유용하게 사용할 수있는 도구 보자 : (?)

  • LS를 -t (? 수정 날짜별로 정렬 된 목록을, 상단에 최신)
  • 종류의
  • CP (대만족!)
  • | -t

    • LS :

    확인, 그래서 여기에 계획입니다 SKIP 5 | xargs cp ...

처음 5 줄을 건너 뛰는 방법을 알아 내고 나머지는 계속 진행해야합니다. 나머지는 xargs로 파이프되며, 각 입력 행에 대해 cp를 호출합니다.

SKIP을 구현하는 방법은 무엇입니까? | -t

다음 : 어떻게 그 잘못된 xargs 다시 작동합니까? 나는 그걸 보면서 주위를 둘러 보지 않습니다 ...

... 운 좋게도, 우리는 전체 을보아야합니다.

ls -t | sed 1,5d | xargs -i 1 mv volumeA/'{}' volumeB/'{}' 
+0

'sed 1,5d'는'tail -n + 6'으로 대체 될 수 있습니다. – jfg956

+0

@jfgagne : 감사합니다. 나는 꼬리를 확인했다. 그러나 그것은 잘, 꼬리를 짓는 것처럼 보였다. 어쨌든, 이것은 숙제 문제입니다. 왜냐하면 제가 오후 소화에서 나를 빠져 나갈 뭔가가 필요했기 때문에 제가 풀기로 결심 했었습니다.) –

1

내가 당신을 위해 당신의 숙제를 할 수 있지만, 당신이 필요로하는 목록 zip 파일을 얻을 수있는 lshead 명령의 조합을 사용하는 것이 내가 말할 수 있습니다 : 그래서, 스크립트는 다음과 같이 보일 수 있습니다 - 즉. ! `#/빈/bash는 FILES :

# man ls 
# man head 
관련 문제