GREP

포스트: 9
Tags

Posts

9 posts

[bash: grep] 파일 안에 섞인 바이너리(binary) 데이터 제거

반달가면|2018년 4월 20일

텍스트 파일에 뭔가 문제가 생겨서 중간에 바이너리(binary) 데이터가 포함된 경우 이를 제거하기 위한 방법이다. 간혹 텍스트 중간에 바이너리 바이트가 일부 삽입되어 있는 희한한 상태로 인하여 다른 부분에서 작업이 안되는 문제가 있어서 고육지책으로 셸 스크립트(shell script)를 만들어서 제거했다. 파일 내용을 한줄씩 읽어서 혹시라도 내용 중간에 바이너리가 있을 경우 이를 제외한 나머지만 모아서 별도의 파일로 다시 저장하도록 했다. 아래와 같이 작업. # 탭을 변수로 할당 tab=`echo -e "\t"` # 대상 파일: ~/my_file.txt target_file=~/my_file.txt # 결과 파일: ~/my_file.txt.result res_file=~/my_file.

[bash: if, grep] 특정 문자열의 존재유무에 따른 작업 지정하기

반달가면|2017년 10월 31일

어떤 파일에 특정한 문자열이 있는 경우와 없는 경우에 각기 다른 작업을 해야 할 경우, if 조건문과 grep을 적절히 조합해서 간편하게 구현할 수 있다. 우선 if 조건문의 -z 옵션을 보자. 이것은 문자열의 길이가 0이면 참, 0이 아니면 거짓이다. 아래의 예시를 보자. string="abc" # 변수 abc에 저장된 문자열의 길이가 0인 경우 메시지 출력 if [[ -z $string ]] then echo "변수 string에 저장된 문자열의 길이는 0입니다." fi 이제 원래의 문제로 돌아가서, 예를 들어 파일 my_file.txt에 문자열 "abcd"가 존재하느냐 여부에 따라서 뭔가 다른 작업을 해야 하는 경우를 생각해 보자. if 조건에 grep을 이용한 문자열 검색의

[bash: grep] 바이너리 파일에서 문자열 검색하기

반달가면|2017년 4월 24일

grep 명령을 이용한 문자열 검색을 바이너리 파일에 적용할 경우, 별도의 옵션을 주지 않으면 해당 문자열 존재 여부만 알 수 있다. # my_data.bin 파일에 문자열 ABC가 존재하는지 확인 grep "ABC" my_data.bin Binary file my_data.bin matches 일치하는 문자열이 있을 때 해당 문자열을 화면에 표시하고 싶다면 -a 옵션을 추가해 주면 된다. # my_data.bin 파일에서 문자열 ABC를 검색, 있을 경우 화면에 출력 grep -a "ABCD" my_data.bin ABCDEFG 텍스트 파일에 대해 문자열 검색을 할 때 -a 옵션을 붙여도 별 문제 없이 검색이 잘 되므로, 텍스트 파일인지 바이너리 파일인지 잘 모르겠는 상황에서는

[ShellScript] /proc/partitions 정보 추출 방법

mindol's life|2017년 1월 5일

Shell 상에서 partition 정보 추출 방법 1. /proc/partitions 이용 방법 1) Major 추출 1-1) cat, awk, grep 으로 추출하는 방법 # cat /proc/partitions | grep sd[a-z] | awk '{ printf "%s\n", $4 }' 1-2) awk, grep 만으로 추출하는 방법 # awk '{print $4}' /proc/partitions | grep -e 'sd[a-z]' | grep -v 'sd[a-z][0-9]' 2) Minor 추출 2-1) awk, grep 만으로 추출하는 방법 # awk '{print $4}' /proc/partitions | grep -e 'sd[a-