2012-09-05 4 views
0

파일 번들 찾을 사용 방법 : "."나는이 작업과 사투를 벌인거야

입력으로 디렉토리 (경로) 이름과 같은 파일 이름베이스 (소요 스크립트를 작성을 " * .txt "등). 스크립트는 주어진 디렉토리 트리 을 검색하고 지정된 파일 이름과 일치하는 모든 파일을 찾아 단일 파일로 묶습니다. 지정된 파일을 스크립트 으로 실행하면 원본 파일이 반환됩니다.

아무도 도와 줄 수 있습니까?

우선 나는이 같은 찾기 부분하려고 노력 :
#!/bin/bash 

filebase=$2 
path=$1 

find $path \(-name $base \) 

그럼 난 번들이 코드를 발견,하지만 난 그들을 결합하는 방법을 잘 모릅니다.

for i in [email protected]; do 
echo "echo unpacking file $i" 
echo "cat > $i <<EOF" 
cat $i 
echo "EOF" 
done 
+0

당신은 이것을 살펴 보았습니까 : http://stackoverflow.com/a/955490/718618 –

+5

이 숙제가 있습니까? – tripleee

+0

Stackoverflow에 오신 것을 환영합니다. 게시물을 수정하여 귀하가 시도한 것을 보여주십시오. 어떤 연구가 이루어 졌습니까? 어떤 스크립트를 작성했으며 어떤 오류 메시지를 제공합니까? – Gray

답변

1

당신은 자동으로 압축이 풀리는 아카이브를 생성 할 shar을 사용할 수 있습니다 tripleee의 의견에 간다. find의 출력을 가져와 shar으로 전달하여 아카이브를 생성 할 수 있습니다. find에 전달

#!/bin/bash 

path="$1" 
filebase="$2" 
archive="$3" 

find "$path" -type f -name "$filebase" | xargs shar > "$archive" 

-type f 옵션은 필요한 제한 될 것으로 보인다 파일 검색 (즉 제외 디렉토리)를 제한합니다. 위의 스크립트가 archive_script.sh라고하고, 실행 파일 인 경우

, 당신은 예를 들어 다음과 같이 호출 할 수 있습니다 :

./archive_script.sh /etc '*.txt' etc-text.shar 

이것은/등의 모든 .txt 인 파일의 shar 아카이브를 생성합니다.

관련 문제