보안접속
회원등록 비번분실
컴퓨팅
Support Wikipedia

 Linux Tip
리눅스팁
 
작성자 서비
작성일 2010-08-23 19:36
분 류 리눅스
ㆍ추천: 0  ㆍ조회: 20304      
[Linux/Unix/Shell Script] Text 파일 줄단위로 읽기
특정 파일을 줄단위로 읽어서 사용 가능하다.

#!/bin/bash
cat [텍스파일명] | \
while read line
do
       echo "$line"
done

위와 같이 하면 파일을 줄단위로 읽을 수 있다.

어디다 쓸것인가?
예를 서버 곳곳에 있는 특정 파일을 지울때 유영 할 수도 있을듯

아래 예를 읽기 전에 다짐 부터 받겠습니다.
사용법을 이해 하지 못하시겠으면 아래 내용을 따라 하지 마세요.
원치 않는 파일들이 지워 질 수 있고, 심한경우 서버가 패닉 상태에 빠질 수 있습니다.

esubi라는 계정으로 서버에 곳곳에 파일이 생성되 있을때 다 지우고 싶으면.....
뭐 단순히 지우기만 하면 될 경우 다음과 같이 한줄로 해결 가능하긴 하지만.....
> find / -user "esubi" | xargs rm -rf
그러나 이렇게 하면 그냥 싹다 지우고 만다
단지 file의 소유자가 esubi라는 이유만으로.....
file의 생사여탈을 내가 관여 할 수 없다는 것이다!!!!

그럼 이렇게 해보면 어떨까요?
find / -user "esubi" > filelist.txt
이렇게 하면 소유자가 esubi인 모든 파일이 filelist.txt에 깔끔하게 정리가 될 것이고
파일을 열어서 지우면 안될 애들이 있는지 찾아보고 해당 파일명을 list안에서 지워주면
그 파일은 구제를 받는 것이다!
이렇게 file의 살생부를 정리 했다면 다음과 같은 스크립을....
사실 위에서 언급한 스크립이지만 다시 한번 써보자~

#!/bin/bash
cat filelist.txt | \
while read line
do
       rm -rf $line
done

한방에 여기 저기에 있는 특정 소유자의 파일은 삭제가 가능 하다능....
응용편~
잘 응용하면 이런것들 가능하다!!!!!
파일명에 특정 단어가 들어간 애들을 색출 삭제!
파일생성 시간별로 애들을 색출 삭제!
등등....

다시 한번 말하지만 사용시에는 주의가 요구 됩니다.
예를 들어서 filelist.txt 안에 이런 내용이 있다면 반드시 삭제 해주세요 위험 하다능....
/
./
../
/ 요놈으로 끝난 목록(디렉토리를 지칭 하는 놈이라능..)
이렇게 응용 할 수 있다 하고 알려 드린거지 대책 없이 사용 하라고 써논거 아닙니다요~
저 분명 주의 하라고 알려 드렸습니다.
글 끝까지 읽어 보지 않고 "서버 아작 났으니 책임져라" 이런말 무섭습니다~
 
   
번호     글 제 목  작성자 조회 작성일
35 ftp mount 서비 3012 리눅스 2011-01-22
34 mysql charset 변경하기 관리자 2840 데이타베이스 2010-11-20
33 Shell Programming 서비 1493 리눅스 2010-08-23
32 [Linux/Unix/Shell Script] Text 파일 줄단위로 읽기 서비 20304 리눅스 2010-08-23
31 솔라리스 hostname 변경 하기 서비 3030 서버관리 2010-08-23
30 Android SDK 및 개발환경 구축하기 서비 1701 서버관리 2010-08-23
29 ubuntu 터미널에서 한글 깔끔하게 쓰기 서비 1995 리눅스 2010-08-23
28 ubuntu 폰트 깔끔하게 쓰기 ^^ 서비 5353 리눅스 2009-10-17
27 동일이름 프로세스 모두 죽이기 서비 1802 리눅스 2009-09-21
26 shell script for,while,until 서비 4159 리눅스 2009-05-14
12345

서울시 강동구 - www.subi.biz