2014-12-12 6 views
1

다음 기능을 사용하여 Unix 용 Korn 쉘 스크립트를 작성하는 데 도움이 필요합니다.Unix korn shell의 선택적 tar

A) (1) 파일과 2 ALPHA로 시작하고 0001로 끝나는 파일 : 것을

1) ALPHA_PIPPO_PLUTO_0001.xml 
2) ALPHA_PIPPO_TOPOLINO_0001.xml 
3) BETA_MINNIE_OMEGA_0002.xml 
4) BETA_OMICRON_PHI_0002.xml 
5) DELTA_WHY_NOT_0001.xml 
6) DELTA_BECAUSE_WHY_0002.xml 

참고 : 모든

첫째, 당신은 다음과 같은 내용으로 유닉스 디렉토리가 있다고 가정하십시오 I 이 두 파일이 들어있는 ALPHA_0001.tar라는 tar 파일을 만들어야합니다.

b) 파일 3과 파일 4는 BETA로 시작하여 0002로 끝납니다.이 두 파일이 들어있는 BETA_0002.tar라는 tar 파일을 만들어야합니다.

c) 파일 5는 DELTA로 시작하고 0001로 끝납니다.이 파일 만 포함 된 DELTA_0001.tar라는 tar 파일을 만들어야합니다.

d) 파일 6은 DELTA로 시작하고 0002로 끝납니다.이 파일 만 포함하는 DELTA_0002.tar라는 tar 파일을 만들어야합니다.

Unix Korn Shell에서 어떻게이 작업을 수행 할 수 있습니까?

내 요청을 고려 해줘서 고맙습니다.

답변

1

이 명령으로 보관할 수 있습니다

find . -regex "^.*?_.*_.*?\.xml$" | sed -r "s|(^./[A-Z]*_).*_(.*?\.)xml$|tar -cvf \1\2tar|g" | sed -r "s|^.*\./([A-Z]*)_([0-9]*).tar|& \1*\2*|g" | uniq | source /dev/stdin 
+0

KSH : 소스 :를 찾을 수 없습니다. 찾기 : 0652-017 -regex는 유효한 옵션이 아닙니다. sed : 인식 할 수없는 플래그 : r 사용법 : sed [-n] [-u] 스크립트 sed [-n] [-u] [-e 스크립트] ... [-f Script_file ] ... [File ...] sed : 인식되지 않는 플래그 : r 사용법 : sed [-n] [-u] 스크립트 [File ...] sed [-n] [-u] [- e Script] ... [-f Script_file] ... [File ...] – UltraCommit

+0

'find --version'과'sed --version'의 출력을 붙여 줄 수 있습니까? – jherran

+0

사용법 : 찾기 [-H | -0] [-l] 경로 목록 [표현식 목록] – UltraCommit

관련 문제