문자열
Posts
24 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 함수를 사용
[bash: sed] 출력 또는 제거할 범위를 문자열 패턴으로 지정하기
sed에서 행번호를 이용해서 범위를 지정하는 방법은 이전 게시물을 참고하자. 기본적인 내용은 대략 아래와 같다. # my_data.txt 파일의 10번째 행 출력(p). -n 옵션으로 전체 출력은 억제(해당 조건에 맞는 행만 출력) sed -n 10p my_data.txt # my_data.txt 파일의 10~20번째 행 출력 sed -n 10,20p my_data.txt # my_data.txt 파일에서 10번째 행을 제거(d)하고 나머지 출력 sed 10d my_data.txt # my_data.txt 파일에서 10~20번째 행을 제거하고 나머지 출력 sed 10,20d my_data.txt 위의 예시에서 행번호 대신 특정 문자열을 기준으로 할 경우에는 "/문자열/" 형
리눅스에서 grep 명령의 출력을 파이프(|)로 넘길 때 글자색 유지하기
grep 명령으로 문자열을 찾으면 출력된 내용에서 일치하는 부분이 빨간색으로 표시된다. echo "abcd" | grep "ab" abcd 그러나 출력값을 파이프(|)로 넘기면 색깔이 억제된다. echo "abcd" | grep "ab" | more abcd 출력 내용이 상당히 길 경우에는 출력결과를 more로 연결해서 한 페이지씩 보게 되는데, 내용이 많아서 어느 위치에 일치하는 문자열이 있는지 헷갈릴 경우가 있다. 이럴 때는 grep의 글자색 옵션을 변경해 주면 되겠다. "--color=always" 옵션을 사용. # 글자색 유지 echo "abcd" | grep --color=always "ab" | more abcd 기본 옵션은 --color=auto인데 출력을
리눅스에서 문자열에 대한 베이스64 인코딩/디코딩
우선, 파일에 대한 베이스64(base64) 인코딩/디코딩의 예시는 아래와 같다. (이전 게시물을 참고하자. 여기로) # 파일 test.txt를 베이스64 인코딩하여 test.txt.b64로 저장 base64 test.txt > test.txt.b64 # 파일 test.txt.b64의 내용을 베이스64 디코딩하여 화면에 출력 base64 -d test.txt.b64 파일이 아니라 특정 문자열에 대한 베이스64 인코딩/디코딩을 하고 싶다면 파이프(|)를 사용하면 간단하게 할 수 있다. 예를 들어 문자열 "abc"에 대한 베이스64 인코딩은 아래와 같이 하면 된다. # 문자열 abc 베이스64 인코딩 echo "abc" | base64 YWJjCg== 만약 줄바꿈(new

![[Spoiler] 점프 신작 '공주님 고문 시간입니다' 원작자에 '우공못' 작가 그림. '시간정지용사' 또다른 플레이어? '다음에 오는 만화 대상' 운영 잡지 폐간](https://img.zoomtrend.com/2026/06/07/1780881297-ECA090ED948426-28EC95A0EB8B88EBA980EC8B9CEAB7B8EB8490.jpeg)
