awk 를 사용하다 보면 환경변수를 사용하게 되는 순간도 오는데 그에 대한 답변이다.
이 질문에는 내 답변이 채택되지는 않았고, 채택되신 분의 답변이 훨씬 더 간단하고 보기에도 좋지만, 그래도 이런 방법도 있다는 차원에서 참고할만 하다.
질문
현재 file.txt에
답변
$max 는 질문에 나와있는 것 처럼 변수에 저장하였다고 합니다.
이 의미는 아마 환경변수였을 것 같네요.
awk '$1 == $max {print $0}' file.txt
에서 $1과 $0 은 awk 에서 정해져서 사용하는 변수명입니다.
그런데 $max 변수는 awk 와 아무런 상관이 없습니다.
외부의 환경변수를 awk 내에서 사용하고자 할 때에는
큰따옴표 작은따옴표 큰따옴표
"'"$max"'" 로 감싸서 사용하면됩니다
awk '$1 == "'"$max"'" {print $0}' file.txt
또는 아래처럼 사용 가능합니다.
awk '$1 == max {print $0}' max=170 file.txt
참고한 링크
awk에서 서버 환경 변수 읽어오기
awk에서 서버 환경 변수를 읽어오는 부분을 잘 몰라서 좀 헤맸다. 콘트롤러 서버에서 수집이 되어야 하는 서버군에 cpu 정보를 읽어오라는 ad-hoc 명령을 내리고 싶을 때 hostname도 같이 읽어와야 데
knight76.tistory.com
https://kin.naver.com/qna/detail.naver?d1id=1&dirId=10302&docId=402218555&page=1#answer1
** 채택된 답변
-v 옵션으로 awk 에서 사용할 변수를 지정하면 됩니다.
'IT > 네이버지식인' 카테고리의 다른 글
[지식인]CentOS 설치하는데 아이디 설정은 안하고 비번설정만했는데아이디 적으라는 것이 나오는데 뭐라고 적어야 하지요..??? (0) | 2022.05.29 |
---|---|
[지식인]데이터베이스 질문 (0) | 2022.05.28 |
[지식인]리눅스 원하는 값만 추출 (0) | 2022.05.28 |
[지식인]질문 aws ubuntu startx 명령어 사용법 (0) | 2022.05.28 |
[지식인]c언어 기초 질문 (0) | 2022.05.28 |