2016-07-18 3 views
0

마지막 bash 스크립트 이후로 오랜 시간이 걸렸습니다. 시작 변수에서 중지 변수까지 파일의 내용을 추출하려고합니다.bash 스크립트를 사용하여 파일 내용 추출

./2014-11-02/18h/00mn/2014-11-02T18-00-00.048000-depth.jpg 
./2014-11-02/18h/00mn/2014-11-02T18-00-00.182000-depth.jpg 
./2014-11-02/18h/00mn/2014-11-02T18-00-00.316000-depth.jpg 

이 지금까지 코드 :

#! /bin/bash 
start=$(grep -n $1 night4.info | cut -d : -f 1) 
stop=$(grep -n $2 night4.info | cut -d : -f 1) 
echo "1" >> list.info 
sed -n -e "$start,$stop p" night4.info >> list.info 

그리고이 내 소스 파일이 night4.info이며이 파일의 .JPG files.The 구조의 목록이 포함은 다음과 유사합니다 스크립트를 실행하는 방법은 다음과 같습니다.

./script1.sh 2014-11-02T18-00-00.048000 2014-11-03T06-59-59.981000 

오류 메시지가 없으며 코드가 올바른 출력을 제공하지 않습니다.

+3

소스 파일은 무엇입니까? 그리고 당신이 추출하려고하는 것은 무엇입니까? 실제 파일이 없으면 질문에 의미가 없습니다. – Inian

+0

문제를 격리하여이 질문을 향상시킬 수 있습니다. 네 줄을 붙여 넣는 대신 올바른 결과물을 출력하지 않는다고 말하면 예상 한대로하지 않고 입력, 예상 출력 및 실제 출력과 함께 표시하는 코드 중 가장 작은 부분을 찾으십시오. 나쁜 스크립트를 좋은 질문으로 바꾸는 방법에 대한 예제는 [bash tag wiki] (http://stackoverflow.com/tags/bash/info)를 참조하십시오. –

답변

1

당신은 범위 연산자 펄 한 줄 사용할 수 있습니다

perl -ne "print if /\Q$1\E/../\Q$2\E/" night4.info >> list.info 
+0

어떻게해야할까요? 그냥 모든 것을 인쇄하는 것처럼 보입니다 – 123

+0

작동 중입니다. 하지만 내 bash 스크립트를 고칠 수 있다면 나에게 더 좋을 것이다. 감사. –

관련 문제