os/linux
-
파일 라인 수 세기os/linux 2020. 9. 2. 16:09
업무를 하다보면 특정 파일의 라인 수를 알고 싶은 경우가 있습니다. 예를 들어, access log 파일에서 특정 요청 수를 알고 싶은 경우가 이 경우에 해당되겠네요. 단순 파일의 라인 수를 알고 싶은 경우 해당 파일을 vi 에디터를 열어 :set nu 명령어로 라인 넘버를 표시해서 알수도 있지만 wc 명령을 활용하면 파일을 열지 않고도 확인할 수 있습니다. wc 명령어 만으로 특정 파일을 라인 수를 알 수 있습니다. > cat test.txt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 > wc -l test.txt 15 test.txt grep 명령과 같이 특정 조건에 해당하는 라인 수를 셀 수도 있습니다. (2를 포함하는 라인 수) > cat test.txt 1 1 2 2 3 3 4 ..
-
특정시간 이내 변경된 파일 리스트 조회 스크립트os/linux 2020. 1. 1. 23:41
지정한 디렉토리에 지정한 시간 이내 변경된 파일 리스트를 조회하는 스크립트입니다. prompt> find.sh {MMIN} #!/bin/sh MMIN=$1 if [ "$1" == "" ]; then MMIN=10 fi CHANGE_FILE_CNT=`find /home/user -mmin -$MMIN -type f | wc -l` if [ "$CHANGE_FILE_CNT" == 0 ]; then echo 'There is no change file.' else ls -l $(find /home/user -mmin -$MMIN -type f) echo '==>>' $CHANGE_FILE_CNT 'files changed.' fi
-
tar 파일 백업 후 일정 기간이 지난 파일은 삭제하는 스크립트os/linux 2020. 1. 1. 23:35
SVN(Subversion)의 Repository를 백업하는데 사용한 스크립트입니다. 스크립트 수행 시간의 년월일시를 파일명에 붙여서 사용하고, 5일전 파일을 삭제하도록 했습니다. (시간을 찍고 있어 5일전 동일한 시간의 백업파일만 삭제됩니다. 필요시 날짜 포맷을 조정하거나 삭제 스크립트를 변경해서 사용하면 됩니다.) #!/bin/sh DATE=`date +%Y%m%d%H` SRC_DIR=/svn/repository BAK_DIR=/home/user/backup TGT_FILE=/home/user/backup/repository_$DATE.tar.gz DEL_DATE=`date +%Y%m%d%H -d '5 days ago'` DEL_FILE=$BAK_DIR/Repository_$DEL_DATE.tar.g..