리눅스
Posts
554 posts[bash: awk] 문자열을 검색해서 일치하는 부분만 출력하기(match, substr)
awk에서 특정 문자열 패턴과 일치하는 부분이 있을 경우, 일치하는 부분만 출력하는 방법이다. grep에서 -o 옵션으로 일치하는 부분만 골라서 출력하는 것과 동일한 기능이나(grep의 -o 옵션에 대한 내용은 이전 게시물을 참고하자. 여기로), awk에서는 좀 더 복잡한 작업들과 조합해서 사용할 수 있으므로 알아두면 편리하다. 아래의 예시를 보자. 입력된 행에 문자열 "abc"가 있는지 확인하여 있을 경우 해당 부분만 출력하는 경우다. echo "abcdefg" | awk 'match($0,/abc/) { print substr($0,RSTART,RLENGTH) }' abc match 함수를 이용하여 일치하는 부분이 있는지 확인한 후에 문자열 일부를 출력하기 위해 substr 함수를 사용
한국 개발업체에서 절대 리눅스 전문가가 나올 수 없는 이유(2: 쓰레기 관리자들)
From한국 개발업체에서 절대 리눅스 전문가가 될 수 없는 이유(1) - SW문화 2. 쓰레기 관리자들운이 좋게 개발 능력을 키워가는 고참 개발자가 보이면 한국 개발 업체 조직 책임자들은 투명 완장을 채워준다.개발과 관리를 동시에 하라는 것이다. 개발자가 조직 책임자에게 개발만 집중하고 싶다라고 말하면 조직 책임자는 업무의 폭이 좁다라고 말한다.업무의 폭이라? 고참 개발자가 되면 개발과 관리를 동시에 진행해서 프로젝트를 리딩해야 한다는 소리다. 그럼 고참 개발자에게 관리를 시키는 이유가 뭘까? 그 이유는 간단한다.고참 개발자에게 관리 업무를 시키면 그 위 조직 책임자는 편하게 일할 수 있기 때문이다.고참 개발자가 관리를 하면 우선 자신은 최신 기술에 대해 파악할 필요가 없다. 고참 개발자에게 투명 완
[리눅스] 한국 개발업체에서 절대 리눅스 전문가가 될 수 없는 이유(1) - SW문화
임베디드 리눅스 개발 업체에서 실제 있었던 일이다. 업무 시간에 있었던 일이다.현재 조직 책임자가 업무 시간에 리눅스 커널 소스 코드를 보지 말라고 했다.리눅스 커널 소스 코드는 다 알아서 스스로 보는 건데 뭘 그런 걸 보냐는 소리인 것이다. 이게 임베디드 리눅스 프로젝트를 개발하는 부서장이 하는 소리다.평소에 이 임베디드 리눅스 업체 관리자가 뇌깔리는 소리는 다음과 같다.1. 리눅스 커널은 안정화된 코드이기 때문이 다 가져다 쓴다.그러니 리눅스 커널을 보드에 잘 돌리는 기술만 익히면 된다. 이게 최근 임베디드 리눅스 개발의 추세다. 2. 리눅스 커널은 디바이스 드라이버가 지나다니는 통로일 뿐이다.그 제반 기술을 익혀서 뭘하나? 문제가 나오지도 않는데 말이야. 3. 빌드 스크립트나 컴파일 환경을 잘
[bash: awk] 항목의 합계를 계산할 때 예외 처리
awk를 이용해서 합계를 구할 때, 입력이 유효하지 않은 경우가 발생할 수 있다. 예를 들어 특정 파일에서 grep으로 특정 항목만 추출한 후에 해당 항목의 합계를 구하려는데, 그 항목 자체가 파일에서 존재하지 않는 경우다. awk를 이용한 항목별 합계 계산 방법은 이전 게시물을 참고하자. 여기로 예를 하나 생각해 보자. my_data.txt의 파일이 아래와 같다. # my_data.txt 파일 내용 확인 (구분자는 탭) cat my_data.txt 2018.1.3 apple 10 2018.1.3 orange 3 2018.3.10 apple 2 위의 파일에 대해서 사과(apple)가 몇개 팔렸는지만 궁금하다면 아래와 같은 작업을 할 수 있다. # 사과(apple) 항목의 합계 계


