본문 바로가기

IT56

쉘 스크립트 문자열 치환 (sed) 에서 변수 사용 쉘 스크립트에서 sed를 사용해 어떤 파일 (예시에서는 FILE_NAME)에서 특정 문자열을 변경하려고 할 때, 변수로 지정해 놓은 문자열을 사용하기 위해서는 다음과 같이 사용할 수 있습니다. 원래 문자열은 "original"이고 새로 바꾸고자 하는 문자열은 "new"입니다. export PREFIX="new" sed -i 's/original/$PREFIX/g' -i FILE_NAME 위와 같은 코드로 작성하게 되면 "original" 이라는 문자열이 "$PREFIX"라는 매크로 이름 자체가 들어가게 됩니다. 이때, $PREFIX를 $(PREFIX)로 작성하면 오류가 발생할 수 있습니다. 이런 부분을 해결하기 위해서는 sed 사용 시 ' (따옴표) 문자 대신에 " (큰따옴표)를 사용하면 됩니다. exp.. 2022. 1. 5.
Eclipse subclipse JavaHL 오류 Eclipse에서 SVN을 사용하기 위해 subclipse를 설치하고 나서 이클립스를 실행시킬 때마다 JavaHL 오류(Failed to load javaHL Library)가 발생하면 아래와 같이 해결할 수 있다. 우분투 20.04에서 수행하였다. $ sudo apt install -y libsvn-java JNI 경로 검색 $ whereis jni 이클립스 폴더에서 eclipse.ini 파일을 에디터로 열고 아래를 추가한다. path 에는 본인에게 맞는 jni 디렉터리를 입력한다. -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni 참고: https://github.com/subclipse/subclipse/wiki/JavaHL-on-Linux 2021. 6. 2.
파이썬3(python3) pip 오류 해결 방법 파이썬3 pip 업그레이드 시 발생하는 오류 해결 방법은 다음과 같다. 사용 환경은 Ubuntu 16.04 입니다. $ python3 -m pip install --upgrade pip Traceback (most recent call last): File "/usr/lib/python3.5/runpy.py", line 184, in _run_module_as_main "__main__", mod_spec) File "/usr/lib/python3.5/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/sh/.local/lib/python3.5/site-packages/pip/__main__.py", line 21, in from p.. 2021. 3. 26.
Sublime text로 pdf파일 복사 줄바꿈 한번에 지우기 pdf 파일에서 텍스트를 복사할 때 아래와 같이 줄 바꿈이 되는 경우가 발생합니다. 위와 같이 여러 문장을 복사하고 붙여넣으면 아래와 같이 on the precision of profiling 부분이 줄이 바뀌어 버립니다. 이럴 때는 조금 번거롭지만 Sublime text와 같은 도구로 해당 부분을 한 번에 해결할 수 있습니다. 저는 Sublime text 3를 사용했고 www.sublimetext.com/3에서 다운로드할 수 있습니다. 위의 pdf 파일 내용을 sublime text에 붙여 넣기 합니다. 이제 마우스 드래그로 전체 선택을 하거나 단축키 Ctrl + A를 눌러 모든 텍스트를 선택합니다. 이상태에서 Ctrl + Shift + L을 누르면 아래와 같이 모든 커서가 문장의 맨 뒤로 이동합니다... 2020. 9. 16.
LLVM Pass 실행 LLVM에서 Pass를 컴파일하고 (*.so) 아래의 명령어를 사용해 IR 코드를 분석할 수 있다. $ opt -load *.so -PASSNAME *.ll (혹은 *.bc) PASSNAME 부분에는 코드에서 RegisterPass에서 지정한 이름을 입력하면 된다. 만약 아래와 같이 Hello라고 등록을 하였으면 static RegisterPass X("Hello", "Hello World Pass "); $ opt -load HelloModule.so -hello *.ll 과 같이 실행하면 된다. 단순히 Pass를 적용한 결과를 보고 싶으면 위의 명령어를 사용하면 되지만, 아래와 같은 경고가 뜬다. WARNING: You're attempting to print out a bitcode file. Th.. 2020. 9. 11.