쉘 스크립트 : 삭제 된 텍스트 내에서 파일의 경로를 탐색

테스트 창에 힘내를 설치할 수 있습니다
파일

파일
파일을 삭제 파일 경로 저장 파일, picture.txt을 삭제 리눅스, 스크립트 deleteFile.sh 준비, 사진 폴더는 여기에 A / B / c.jpg을 삭제하는 세 사진은

deleteFile.sh 스크립트를 다음과 같이 :

! / 빈 / bash는

경로 저장 텍스트 쉘 스크립트

./deleteFile.sh ./picture.txt

위치 파라미터를 분석하는 것은 1

다음 [$ # -ne 1]의 경우
에코 "사용 $ 0 파일 이름"
출구
Fi를

위치 매개 변수 파일 여부를 결정

만약 [ ! -f $ 1] 다음,
"는 $ 1 파일 아니다"에코
출구
Fi를

텍스트 파일 경로를 삭제할

파일 이름 = $ (1)
에코 "파일 이름 : $ 파일 이름">> info.txt

파일의 개수가 삭제 될 계산한다 (행의 총 수)

NUM = sed -n '$=' $filename
에코 "사진 삭제 여부 : $ NUM"

프로그레시브는 파일의 내용을 읽고 해당 파일 경로를 삭제

0 = 성공
난에 대한 cat $filename

info.txt로 출력 리디렉션 # 성공적인 정보
>> info.txt "$ i를 삭제 성공"에코
RM -rf $ 내가
성공 = expr $success + 1
DONE
에코 "성공 삭제 NUM : $ 성공"을

허가를 제공하기 위해 chmod를 명령 셸 스크립트를 사용하여, ./deleteFile.sh ./pictureWIn.txt 충분한 권한이 명령을 실행 한 후
파일
인쇄 문을 참조하기를, 명령이 실행 된, 그러나 결국, 모든 누락 된 사진을 제거 마지막 C를 삭제하지 않았다 .JPG

PictureWIn.txt가 성공적으로 제거 할 수있는 데이터의 마지막 줄에서만 볼 수있는 파일의 내용을 수정, 이전 데이터가 삭제 실패

! <<
에코 "./picture/a.jpg"
RM의 RF ./picture/a.jpg
에코 "./picture/b.jpg"
RM의 RF ./picture/b.jpg
에코 "./picture/ c.jpg "
RM의 RF ./picture/c.jpg은
!
바로 세 삭제 문을 실행, 또한 성공적으로 세 가지 사진을 제거 할 수 있습니다.

----------------------------테스트--------------------- -------------

루프 그림의 배열에 파일과 저장을 읽고

N = 1
의 I에서 cat $filename
음주
포토 [$ N]는 $ = I를

에코 "포토 [$ N] : $ i가"

RF RM은 $ 포토 [$ N]

N = expr $n + 1
수행

루프는 파일을 읽고 그것을 저장 배열의 내용을 삭제하는 동안

내가 1 =
읽기 라인 동안

[$가 I] = "$ 라인은"삭제
전 = expr $i + 1
일 <$ 파일 이름

배열 및 삭제 파일을 통해

I에 대한 $ {포토 [*]}

의 난에 대한 seq $NUM

위한은 ((ⅰ를 NUM =; I> = 1) 난 ...)

에코 "$ {삭제 성공 포토 [$ i]를}"
RF RM은 $ {포토 [$ i]를}
수행

다음, 배열에 저장된 텍스트 내용을 읽을 제거하려고, 결과는 여전히 동일합니다.

실수로 삭제 한 파일을 저장할 발견 텍스트 경로가 성공적으로 삭제 ./deleteFile.sh ./picture.txt 명령을 실행 한 후, 윈도우, 리눅스에서 새 picture.txt 파일에서 생성됩니다.

리눅스의 새로운 기능 및 Windows 텍스트 파일, 그러나 새로운 두 개의 문서가 동일한 경우에, 파일에 데이터를 기록하지 않습니다. 이 시점에서 파일을 Windows에서 리눅스에 (중 신규는 경우) 동일합니다.

그러나 수정하면 동일하지 않습니다. Windows에서 수정 및 리눅스에서 저장, 줄 바꿈은 \입니다 N, 수정 및 저장, 줄 바꿈은 \ 연구 \ n은.

수정하지만, 저장된 내용을 수정, 랩의 내용이 변경되지 않는 한, 한 번 수정 및 저장, 파일은 랩 \ n 또는 \ 연구입니다 \ n은 변경되지 않으며,. 예를 들어 : 줄 바꿈은 \ n은 새로운 라인을 추가 윈도우의 파일, 또는 \ n 윈도우 개행의 증가 (편집 도구를 사용하여이 Nodepad ++이다), 줄 바꿈은 줄 바꿈을 사용하여 \ 연구 \ n은 리눅스 증가 파일 (이다 이 도구는 리눅스를 n 개행 문자 또는 \ 연구를 \ 증가에 따라,) 정력이다.

추천

출처www.cnblogs.com/chen-chen-chen/p/12176956.html