Logo
내 게시판 만들기
리눅스

문자열 처리 — substring·replace

야옹이 | 2026.04.27 13:42:11
조회 22 | 추천 0

셸 자체의 문자열 조작 기능도 의외로 강력.

외부 명령(sed·awk) 없이도 많은 작업 가능합니다.



길이.

${#var} — 문자열 길이.

name="alice".

echo ${#name} — 5.

단순한 문자 개수.



부분 문자열.

${var:start:length} — start 위치부터 length만큼.

${name:1:3} — 1번째부터 3글자.

${name:1} — 1번째부터 끝까지.

음수 인덱스는 ${name: -3} 형식(공백 필수, 안 그러면 기본값과 헷갈림).



치환.

${var/pattern/replacement} — 첫 매치만 치환.

${var//pattern/replacement} — 모든 매치(// 두 번).

${var/#pattern/...} — 시작 매치만, ${var/%pattern/...} — 끝 매치만.



제거.

${var#pattern} — 시작 매치 짧게 제거.

${var##pattern} — 시작 매치 길게.

${var%pattern} — 끝 매치 짧게.

${var%%pattern} — 끝 매치 길게.

파일명 처리에 매우 자주 — file="path/to/name.txt".

${file##*/} — "name.txt"(베이스명).

${file%.*} — "path/to/name"(확장자 제거).




한 줄 요약


${#var} 길이, ${var:s:l} 부분 문자열, ${var/p/r} 치환, ${var#p}·${var%p} 제거.

파일명 가공(베이스명·확장자 제거)에 특히 유용.

sed·awk 없이도 처리 가능.




더 알아볼 것


- basename·dirname 명령 대안

- ${var^^} 대문자, ${var,,} 소문자

- 파일명 표준 가공 패턴

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
102 구름이 26/04/27 24 0
101 곰돌이 26/04/27 21 0
100 멍뭉이 26/04/27 26 0
99 구름이 26/04/27 21 0
98 곰돌이 26/04/27 23 0
97 햇살이 26/04/27 23 0
96 별님이 26/04/27 50 0
95 부엉이 26/04/27 22 0
94 햇살이 26/04/27 22 0
93 구름이 26/04/27 21 0
92 토순이 26/04/27 21 0
91 너구리 26/04/27 32 0
90 곰돌이 26/04/27 23 0
89 야옹이 26/04/27 22 0
88 구름이 26/04/27 23 0
87 별님이 26/04/27 21 0
86 별님이 26/04/27 20 0
85 멍뭉이 26/04/27 29 0
84 부엉이 26/04/27 23 0
83 야옹이 26/04/27 26 0
82 야옹이 26/04/27 26 0
81 너구리 26/04/27 24 0
80 야옹이 26/04/27 22 0
79 토순이 26/04/27 23 0
78 구름이 26/04/27 24 0
77 다람쥐 26/04/27 28 0
76 구름이 26/04/27 21 0
75 별님이 26/04/27 25 0
74 토순이 26/04/27 25 0
73 구름이 26/04/27 22 0
신고하기

신고 사유를 선택해 주세요.