변수

포스트: 9
Tags

Posts

9 posts

[bash: awk] 현재 행에서 특정 문자열이 존재할 때 바로 이전 행을 출력하기

반달가면|2017년 2월 27일

텍스트 파일에서 특정 문자열을 검색해야 하는데, 해당 문자열이 출현했을 경우 바로 이전 행만 출력해야 할 경우에 awk를 이용해서 가능하다. 조건문을 사용해야 하므로 좀 복잡하긴 하지만, 어쨌든 가능. 개인적으로 이 문제에 대한 고민은 여러 행으로 이루어진 텍스트 파일에서 특정 부분을 따옴표(")로 묶어주어야 하는 문제 때문에 시작되었다. 어떤 형태의 문제였는지 예를 들자면 아래와 같다. john과 jane의 대화를 기록한 my_dialog.txt 파일의 내용이 아래와 같은 상황이다. # 파일 내용 확인 cat my_dialog.txt john: hello, jane. how are you? jane: not bad, john. thanks 위의 내용을 아래와 같이 바

[bash: source] 스크립트에서 환경설정 파일 활용하기

반달가면|2017년 2월 20일

셸 스크립트에서 환경설정 파일을 읽어서 변수값을 지정하고 싶을 때 source 명령을 활용할 수 있다. source 명령은 현재의 shell 프로세스에서(즉, fork하지 않고) 지정된 파일에 있는 명령을 실행한다. 아래의 예시를 보자. # test.ini 파일 내용 확인 cat test.ini MY_VALUE=10 MY_NAME="john" # test.ini 파일의 내용을 현재 shell에서 실행 source test.ini # 변수 설정 결과 확인: MY_VALUE, MY_NAME 출력 echo $MY_VALUE 10 echo $MY_NAME john 변수 MY_VALUE, MY_NAME의 값을 test.ini 파일에서 정하고, 이것을 읽어서 실행함으로써 변수값이 설

[bash: awk] awk에서 외부 명령을 실행하고 결과를 변수에 저장하기

반달가면|2016년 12월 20일

awk에서 문자열 작업을 할 때 외부 프로그램을 실행하는 방법이다. awk 자체적으로도 제공하는 다양한 함수 외에 외부 명령을 필요로 하는 상황에서 아주 요긴하다. 예시를 하나 생각해 보자. my_data.txt 파일을 읽어서 한 행마다 MD5 해쉬값을 구해야 하는 경우다. awk에는 MD5 해쉬를 계산해 주는 함수가 없으므로 리눅스에서 제공하는 md5sum을 이용해야 한다. 먼저 md5sum 예시를 보자면 아래와 같다. # 문자열 abc의 MD5해쉬값 계산 echo "abc" | md5sum 0bee89b07a248e27c83fc3d5951213c1 - md5sum의 출력이 "[MD5해쉬값] - [파일명]" 형태이므로 해쉬값만 취하려면 cut을 이용해서 -c 옵션으로 아래와 같이 앞쪽

제어할 수 없는 폭두 이방원 [육룡이 나르샤]

제어할 수 없는 폭두 이방원 [육룡이 나르샤]

로그북스|2015년 11월 4일

육룡이 나르샤 10회 리뷰입니다. 마침내 정도전, 이방지, 그리고 이방원이 만나게 됩니다.육룡이 나르샤 제1화에 등장했던 바로 그 장면으로 돌아오게 된 것이죠. 함주를 혁명의 진채로, 이성계를 새로운 세상의 주인으로, 그리고 그 세상을 설계하고자 한 정도전의 첫 번째 계획인 안변책..이것을 통과시키기 위한 정도전의 계책은 결과적으로는 도당의 가결로 통과되지만, 그 과정에서는 정도전조차 미처 생각하지 못한 뜻밖의 변수가 작용합니다. 당초 정도전은 이방지를 폭두(어디로 튈지 모르는 콩, 생각치 못한 변수를 의미함)로 여겼습니다.세 사람이 조우하기 전까지 정도전은 이방지의 존재를 몰랐기 때문이죠. 그래서 이름 모를 자객이 나타나 홍윤방을 습격하여 길태미-홍윤방 연합으로 무산될 뻔했던 안변책을