강좌 & 팁
Substring 처리를 하기 위하여 bash 에서는 "#,##,%,%%"의 네 종류의 연산자를 이용하여, 문자열을 조작 하게 된다.
#: 구분자 앞쪽(왼쪽)의 문자열(단어)을 삭제, 문자열 앞쪽에서부터 문자열을 하나씩 삭제하는데 첫번째 구분자 앞까지 삭제
---------------------
#!/bin/bash
x="arm ubuntu linux test string."
echo ${x#* }
---------------------
ubuntu linux test string.
##: 마지막 구분자 앞쪽(왼쪽)의 문자열(단어)을 삭제, 문자열 앞쪽에서부터 문자열을 하나씩 삭제하는데 마지막 구분자 앞까지 삭제
---------------------
#!/bin/bash
x="arm ubuntu linux test string."
echo ${x##* }
---------------------
%: 마지막 구분자 뒤쪽(오른쪽)의 문자열(단어)을 삭제, 문자열 뒤쪽에서부터 문자열을 하나씩 삭제하는데 첫번째 구분자 앞까지 삭제 한다.
---------------------
#!/bin/bash
$x = "arm ubuntu linux test string."
$echo ${x% *}
---------------------
arm ubuntu linux test
만일 문자열 안에 ":"뒤에 문자들만 삭제 하고 싶을 경우,
---------------------
#!/bin/bash
$x=11111:222
echo ${x%:*}
---------------------
11111
%%: 구분자 뒤쪽(오른쪽)의 문자열(단어)을 삭제, 문자열 두쪽에서부터 문자열을 하나씩 삭제하는데 마지막 구분자 앞까지 삭제
---------------------
#!/bin/bash
$x = "arm ubuntu linux test string."
$echo ${x%% *}
---------------------