BASH
Posts
81 posts[bash: sed] 슬래시(/)가 포함된 문자열 대체하기
우선 sed를 이용한 문자열 대체의 기본적인 예시는 이전 게시물을 참고하자. 여기로. # abc를 ABCD로 대체 echo "abc" | sed "s/abc/ABCD/" ABCD 그런데 만약 대체하고자 하는 문자열 자체에 슬래시(/)가 포함되면 어떻게 할 것인가? 의외로 방법은 간단하다. sed에서 통상 슬래시를 구분자로 사용하지만, 사실은 s 옵션 바로 다음에 나오는 문자가 구분자로 지정된다. 그리고 이 구분자가 반드시 슬래시일 필요는 없다. 아래의 예시를 보자. # ab/c를 ABC/D로 대체, 구분자는 "%" echo "ab/c" | sed "s%ab/c%ABC/D%" ABC/D "s/문자열/문자열/" 형태 대신 "s%문자열%문자열%" 형태로, 구분자를 퍼센트(%) 기
[bash: cut] 필드 구분자(delimiter)가 없는 경우 출력 억제하기
우선, cut 명령어의 기본적인 사용 예시는 이전 게시물을 참고하자. 여기로. cut 명령으로 특정 부분을 잘라낼 경우 필드 구분자(delimiter)를 기준으로 잡는데, 필드 구분자가 없을 경우에 기본적으로 행 전체를 출력하게 된다. 아래의 예시를 보자. # 필드 구분자를 콜론(:)으로 지정, 2번째 항목 가져오기 echo "abc:def" | cut -d':' -f2 def # 대상 문자열에 필드 구분자가 없는 경우 echo "abc def" | cut -d':' -f2 abc def 필드 구분자가 없을 경우에 행 전체를 출력하는 것이 아니라 아예 아무것도 출력하지 않도록 하려면 -s 옵션을 추가해 준다. # 대상 문자열에 필드 구분자가 없는 경우, 출력하지 않음(-s
[bash: $()] 역따옴표(`)를 중첩해서 사용하고 싶을 경우
리눅스 bash shell에서 특정 명령어의 결과를 변수에 할당하거나 다른 명령어의 인자(argument)로 사용하고 싶을 때 역따옴표(`)를 사용하게 된다. # ls 명령의 결과 출력에서 마지막 줄을 변수 x에 할당 x=`ls | tail -1` 그런데, 역따옴표 안에 다시 역따옴표를 사용하고 싶은 경우가 생겼을 경우에는 대신에 "$(명령어)" 형태를 사용하면 되겠다. 기능은 역따옴표와 동일하나 중첩해서(nest) 사용할 수 있다. # ls 명령의 결과 출력에서 마지막 줄을 변수 x에 할당 x=$(ls | tail -1) 예시가 좀 억지스럽긴 한데 겹쳐서 사용하는 경우를 만들어 보자면 아래와 같이 해 볼 수 있을 것이다. # 문자열 "txt"를 출력해서 grep의 인자로 사
[bash: csplit] 설정한 기준에 따라 텍스트 파일 분할하기
csplit은 리눅스에서 기본적으로 제공되는 파일 분할 프로그램이다. 특정 행번호, 또는 특정 문자열을 기준으로 파일을 분할해야 하는 경우에 사용한다. csplit의 인자(argument)는 아래와 같이 지정한다 csplit [옵션] [입력 파일] [패턴] 자주 사용하는 옵션은 아래와 같다. -f: 분할된 출력 파일 이름 지정 -z: 결과중에 크기가 0인 파일은 삭제 -k: 오류가 발생할 경우에도 이전까지 생성된 분할 결과 파일 유지(-k 옵션이 없으면 오류 발생시 출력 결과가 삭제된다.) 패턴은 행번호 또는 정규표현식(regular expression, regex), 그리고 반복 회수를 지정할 수 있다. 몇가지 예시를 통해서 살펴보자. 예시에 사용할 파일 sample.t
![[1년 전 오늘] 250608 인천 무의도 덕점방파제 바다루어낚시 - 장대, 광어](https://img.zoomtrend.com/2026/06/10/1781084366-20250608122254.jpg)
![[CV] [Comi] '終末のハーレム ファンタジア' (종말의 하렘 판타지아) 17권. 그동안 SAVAN에 무슨 일이 있었던 거냐](https://img.zoomtrend.com/2026/06/10/1781084386-ECA484EBA6ACEC9790.jpg)

