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

 Linux Tip
리눅스팁
 
작성자 서비
작성일 2010-08-23 19:36
분 류 리눅스
ㆍ추천: 0  ㆍ조회: 22121      
[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 안에 이런 내용이 있다면 반드시 삭제 해주세요 위험 하다능....
/
./
../
/ 요놈으로 끝난 목록(디렉토리를 지칭 하는 놈이라능..)
이렇게 응용 할 수 있다 하고 알려 드린거지 대책 없이 사용 하라고 써논거 아닙니다요~
저 분명 주의 하라고 알려 드렸습니다.
글 끝까지 읽어 보지 않고 "서버 아작 났으니 책임져라" 이런말 무섭습니다~
 
   
번호     글 제 목  작성자 조회 작성일
45 [Linux/Unix/Shell Script] Text 파일 줄단위로 읽기 서비 22121 리눅스 2010-08-23
44 MySQL character set 변경 서비 6791 데이타베이스 2007-11-07
43 ubuntu 폰트 깔끔하게 쓰기 ^^ 서비 5715 리눅스 2009-10-17
42 bash shell 설정 서비 4699 리눅스 2009-01-02
41 shell script for,while,until 서비 4603 리눅스 2009-05-14
40 mysql 복호화기 관리자 3407 데이타베이스 2007-12-04
39 솔라리스 hostname 변경 하기 서비 3369 서버관리 2010-08-23
38 ftp mount 서비 3336 리눅스 2011-01-22
37 php5에서 php4 이전 코드 사용하기 관리자 3258 리눅스 2006-05-03
36 mysql charset 변경하기 관리자 3202 데이타베이스 2010-11-20
12345

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