2011-09-14 2 views
1

저는 유닉스 쉘 스크립팅을 처음 사용합니다. 내 목표는 "--------"줄 사이에있는 문자열 집합을 추출하고 각 문자열 집합을 다른 파일에 저장하는 것입니다.패턴 사이의 문자열을 추출하고 쉘 스크립트를 사용하여 다른 파일에 저장

예는 : 내 파일 main.txt 보인다

같은
---------------------------- 
One 
two 
three 
---------------------------- 
abc 
four 
five 
----------------------------- 

예상 출력 : 문자열이 선 사이에서 나타나는 "----", 같은 다른 파일에 저장해야합니다

first.txt contains, 
one 
two 
three 

Second.txt contains, 
abc 
four 
five 

당신의 귀중한 도움을 요청하십시오. 사전에

감사합니다, 스리 칸스

+0

이 정보가 도움이 되나요? http://stackoverflow.com/questions/4217399/split-input-into-multiple-outputs-based-on-content – ajreal

답변

1
i=0; file=$i.txt; cat tmp/t.txt |while read line; 
    do if [ "$line" = "----------------------------" ]; 
     then let "i=i+1"; file=$i.txt; continue; 
    fi; 
    echo "$line" >> $file; 
done 

은 BTW, 난 단지 대화 형 작업 쉘을 사용합니다. 모든 코딩은 파이썬으로 끝난다.

awk도 사용할 수 있습니다. 하지만 파이썬, 루비를 사용할 수 있습니다.

+0

제안을 주셔서 감사 합니다만, 그것을 execting하는 중에 오류 아래에 점점,'line 4 : [: 너무 많은 인자들 '. 스크립트는 다음과 같다.'#!/bin/bash i = 0; file = $ i.txt; 고양이 temp1 | while read line do [$ line == "---------------------"]; "i = i + 1"; file = $ i.txt; 계속 fi echo "$ line">> $ file done' – Srikanth

+0

나는 $ line 대신 $ line을 업데이트했다. – guettli

관련 문제