목록Programming/UNIX (11)
공학박사 권경안

grep은 리눅스에서 가장 강력한 텍스트 검색 도구 중 하나입니다.특히 -v 옵션은 일치하는 패턴을 제외하고 출력할 때 매우 유용합니다.이번 글에서는 -v 옵션을 사용하여 원하는 결과를 효율적으로 필터링하는 방법을 알아보겠습니다.📌 grep -v 옵션이란?먼저, man grep에서 -v 옵션의 공식 설명을 확인해 보겠습니다.즉, 특정 패턴이 포함된 라인을 제외하고 출력할 때 사용됩니다.예제를 통해 활용 방법을 살펴보겠습니다.📝 예제 파일 (log.txt)다음과 같은 로그 파일이 있다고 가정해 보겠습니다.[INFO] Server started successfully.[DEBUG] Connection established with DB.[ERROR] Failed to load configuration.[..
오랜만에 Unix 명령어를 몇일째 엄청 사용하면서 느낀점인데 정말 안쓰니깐 다 까먹게 된다는걸 다시 한번 느꼈다.그래서 기억하기 위해 몇개 쓴다. find 명령어로 얼마나 많은 파일이 있는지 확인하기 find ./folder -type f | wc -l 10년치 되는 데이터를 unzip 한후 몇개의 data 가 존재하는지 확인해보니 11만개정도 되었다. unzip *.zip -d ./folder
UNiX - htop command > htop htop command has many functions. You can try F5 and F6. UNiX - top command > top
shell 을 통해서 특정파일을 0 bytes 로 바꾸기. - log 초기화하기등. 몇가지의 shell 명령어만 알면 쉽게 만들어서 활용할수 있다. 사례) ProFrame 의 서버로그를 0 Bytes 로 모두 초기화하기. #!/usr/bin/ksh if [ `hostname` != "ap" ]; // if 를 통해 hostname 을 확인한다. then echo " Please... hostname check " exit 1 fi for file in `ls /log/*.log` // for 를 통해 디렉토리 파일개수만큼 돌면서 > 한다. do echo "$file -> 0 bytes" > $file done df -k /log // size 를 확인해본다. 개인적으로 bdf 를 더 선호함. exit 0..
export YEAR=`date +%Y` 년도 export MONTH=`date +%m` 월 export DAY=`date +%d` 일 export YES=`TZ=KST+15;date +%Y%m%d` 어제일 그날 그날 check 할것들을 간단한 shell 로 만들어서 쓰면 편할것이다. 이런식으로. 활용하면 편하겠지요. (.sh 파일) grep 'PFM' /sfglog/infra/tmaxg/slog/slog.$YES | grep -v registered (실행될때) grep 'PFM' /sfglog/infra/tmaxg/slog/slog.20090528 | grep -v registered
ln [-s] file_name link_name -s : Symbolic Link¹ 를 생성할 때 지정한다. 생략하면 Hard Link² 가 된다. file_name : Link를 생성하고자 하는 화일명 link_name : 생성하고자 하는 화일명 ex) ProFrame IPPR 로그를 link 한 예시. ln -s /proframe/ulog/TPFMIPPR_xxxxx.log TPFMIPPR_xxxxx.log 참조 ¹) Symbolic Link : 화일의 내용을 Link하지 않고 화일의 Path정보만을 Link 한다. 링크 생성명에 @ 가 붙는다. 링크가 삭제되어도 원본 파일에 영향을 주지 않는다. 디렉토리도 링크할 수 있다. ※ Symbolic Link 는 화일 하나를 여러 사람이 공유해서 사용하는 ..
LISTING FILES BY SIZE If you want to have a listing of the files sorted by size, you can use the following command(s), it will list the files in decrease order. if you need to do the same thing recursively, you could use the second one. ls -l | grep ^- | sort -nr -k 5 | more ls -lR | grep ^- | sort -nr -k 5 | more @ 응용해서 현재 디렉토리부터 서브티렉토리 까지 전부 찾으면서 가장큰사이즈가 큰녀석을 asc 하게 리스트하기. find ./ -name *.log ..
HP-UX 에서 man 으로 확인한것이다. 요점만 색칠해서 보기 쉽게 하겠다. 자주사용 될만한 옵션만.(간단설명도 쓰겠습니다.) $ man grep [☜ 엔터] 온라인 도움말을 다시 서식화합니다. 기다리십시오... NAME grep, egrep, fgrep - search a file for a pattern (패턴으로 검색하기) SYNOPSIS Plain call with pattern grep [-E|-F] [-c|-l|-q] [-bhinsvwx] pattern [file ...] Call with (multiple) -e pattern grep [-E|-F] [-c|-l|-q] [-bhinsvwx] -e pattern... [-e pattern] ... [file ...] Call with -f f..
@ HP-UX UNiX man 명령어를 통해 bdf 를 확인하면 다음과 같이 표시한다. bdf - report number of free disk blocks (Berkeley version) df(disk free) 명령어의 버클리 버전이라는 뜻인데. 차이점이 있으며 그 설명은 아래 회색표시된 부분으로 대신한다. 즉, bdf 와 df 로 보았을경우 차이점이 나는것이 정상이라고 볼수 있다. du 명령은 positive 관점에서 현재 할당된 블록의 수를 보여주고 , bdf는 negative 관점에서 disk의 현재 여유공간을 보여준다 따라서 du명령의 경우 방금 지운 블록도 free한 영역으로 count하여 실제 size에 반영되지만, bdf의 경우에는 활성화된 Process 가 할당된 블록 (예를 들어 ..
Unix로그를 보기위해 tail 명령어를 자주 사용하는 경우가 많다. 이때 cut 명령어와 조합하면 훨씬 편하게 로그를 확인할수 있다. 아래 로그는 tail 명령어로 확인한 ProFrame 의 IPPR 로그중 한부분이다. 이때 로그를 살펴보면 : 문자로 로그구분이 된것을 확인 할 수 있다. $ tail -f TPFMIPPR_usr_20090101.log (T) TP :100350707976:20090129ibmsap1t1907210035000000:19072 [SPFMIPPR :pfmTpForward.c :pfmTpForward :00088] >> TPAPI [TPFORWARD :xxxxxxxxA ] ? FLAGS [0] 다음과 같이 cut 명령어를 통해 필요 없는(원치않는) 부분을 삭제하여 볼수 있다...
습관적으로.. 아래와 같이 사용했었다. (xml 파일 도대체 뭐 건드린거야? 라며 뭐뭐 수정되었나 찾아볼때 흔히들 쓴다.config !!) $ find ./ -name '*.xml' -ctime 0 | xargs ll -tr (해석) 지금부터 하위디렉토리까지 모든 xml 을 검색(-name '*.xml')하는데 지금부터 -24시간전(-ctime 0) 까지 검색하고 그걸 list 명령어(ll)로 뽑는다. 최신순서가 아래 표시되게끔(-tr) 습관적이라는것은 -ctime 의 값같은건 그리 중요하게 생각하지 않는데.. -ctime 녀석의 값을 이렇게도 그림으로 표현해놓은걸 보구선 앗 감탄해서.. 글을 하나 적으면서 img Tag 로 좀 보여주게끔 해보았다. 굿!!