99. 정리전 - IT/13. Unix 얇팍지식(78)
-
awk 활용
텍스트 파일의 전체 라인수를 계산 # cat /etc/passwd | awk ‘END {print NR}’ # awk ‘END {print NR}’ /etc/passwd 텍스트 파일의 특정번째 라인의 문자열을 프린트 # awk ‘NR ==10’ /etc/passwd # cat /etc/passwd | awk ‘NR==10’ 각 라인의 맨끝 단어(필드)를 프린트 # bdf | awk ‘{print $NF}’ 마지막 입력 라인의 마지막 필드를 프린트 # bdf | awk ‘{field = $NF} END {print field}’ 4개 이상의 필드(단어)를 가지고 있는 라인을 프린트 # bdf | awk ‘NF > 4’ 'fly'를 포함하고 있는 라인의 총수 계산 # awk ‘/fly/ {nlines = n..
2011.01.26 -
현장에서 쓰는 유용한 쉘 모음
## REDIRECTION ## 1.표준출력 저장 - ps > psout.txt 2.표준에러출력 - cc -c src1.c 2> err.txt 3.표준출력과 표준에러의 저장 -kill -1 1234 > killout.txt 2> killerr.txt -kill -1 1234 > killouterr.txt 2>&1 4.재지향 입력 more ps 명령의 결과를 sorting 하고서(sort) 중복 자료를 제거한후(uniq) 'sh'가 들어간 문자를 제외하고서(grep -v ) 페이지단위로 봄(more) 재지향 2 cat > t.txt t & [1] - Running tail.sh > t & c...
2011.01.26 -
하위 디렉토리까지 뒤져 특정파일의 내용을 replace하기
하위 디렉토리까지 뒤져 특정파일의 내용을 replace하기 find . -name *.html | awk '{ print "cat "$1" | sed \"s/바꾸고싶은말/바뀔말/g\" >"$1 }' | sh 한가지 에러가 날수 있는 상황이 있습니다. 그것은 디스크가 100% 사용중일 경우에 해당합니다. 이럴경우 덩치가 큰 파일을 치환하면 파일의 중간이 짤릴수 있습니다. 손이 많이간건 즉 파일이 크단 말도 되는데, 이거만 확실히 날라 갔네요. 덕텍에 중요한것만 골라서 안되는구요. 이 작업을 하려면 꼭 백업을 받고 작업 하십시요. 근데 특수문자인경우는 예를들어서 // -> /* 일단 sed에서만.. 하면... 1. src = // => des /* 2. sed "s/////*/g" 쿼테이션 안이니까... \..
2011.01.26 -
unix ^M 없애기
예전 LUG 데이터인데 많이들 검색하시는 듯하여 다시 올려봅니다. vi(m) 사용시 ^M 없애기 vi(m)을 사용하다보면 윈도우즈에서 작업한 텍스트 파일에 ^M 문자가 붙습니다. 현재 vi(m)에서는 도스 문서로 문서를 읽게 되면, 이 문자가 붙지 않지만 가끔 이 문자 때문에 문서 보기가 상당히 귀찮아 보일 때가 있습니다. 특히, SQL 백업 파일을 볼 때 이 문자가 붙기도 하는데, 특정한 내용을 볼 때 이런 문자가 붙은 문서들은 가독성이 좋지는 않지요. 이 문자는 ^M은 ^+M이 아니라 Control+v+m 입니다. 아래는 오래 전 http://www.lug.or.kr 에 올라왔던 몇 개의 팁을 정리, 추가한 것입니다. 1. vi(m)이 열린 상태 1.1 문자 치환 명령 이용 다음과 같이 문자 치환 명..
2010.12.13 -
crontab 은 유저의 환경 변수를 가져오지 않는다.
출처 :http://ohgyun.com/category/Daylogs/Unix 문제: 이번에 서버 변경 작업을 하면서 기존 서버에 crontab 으로 등록되어 있는 내용을 똑같이 옮겨왔다. 정해진 시간에 몇 개의 쉘 프로그램을 실행시키는 구문이었는데, 이 놈들이 정상적으로 실행되지 않는다. 확인해보니, 각 쉘 프로그램에서는 자바의 루트 디렉토리를 칭하는 JAVA_HOME 환경 변수를 사용하는데, 이번 서버 변경 작업때문에 자바의 디렉토리 위치가 변경되었기 때문이었다. 어쩔 수 없이 각 파일을 열어 JAVA_HOME 변수를 설정하다가 문득, '환경 변수를 왜 모든 쉘 프로그램에 각각 등록해둔 거지..?' 라고 생각하면서 JAVA_HOME 변수를 .profile 에 환경 변수로 추가하고 쉘 프로그램에 등록되..
2010.12.07 -
HP-UX 에서 파일 갯수 세기
ll -R | cut -c1 | grep - | wc -l ls에서 -R 옵션을 주면 서브 디렉토리의 파일들까지 같이 보여줍니다. 이 결과에서 첫번째 column이 파일의 type을 나타내는데 파일은 - 으로 시직합니다. 즉 첫번째 column을 잘라내고 그 결과에서 - 으로 시작하는 라인을 잡아내서 카운트를 세면 순수한 파일의 갯수만 나오겟죠. 순수 파일만의 갯수 #find . -type f -print | wc -l 순수 디렉토리만의 갯수 #find . -type d -print | wc -l 파일,디렉토리 모두의 갯수 #find . -print | wc -l tar 로 압축을 풀 때에 한꺼번에 여러 파일을 압축 풀고 난 후에, 폴더 내의 파일 개수를 세고 싶다... 해결책: 여러 파일을 찾기 위해서..
2010.12.07