Shell 문자열 을 캡 처 하 는 자세 한 방법
1.expr substr “$a” 1 8
2.echo $a|awk ‘{print substr(,1,8)}'
3.echo $a|cut -c1-8
4.echo $
5.expr $a : ‘\(.\\).*'
6.echo $a|dd bs=1 count=8 2>/dev/null
2.지정 한 문자열 로 1 을 캡 처 합 니 다.첫 번 째 방법:${varible\#*string}왼쪽 에서 오른쪽으로 마지막 string 뒤의 문자열 을 캡 처 합 니 다${varible\#*string}왼쪽 에서 오른쪽으로 첫 번 째 string 뒤의 문자열${varible%%string*}오른쪽 에서 왼쪽으로 마지막 string 뒤의 문자열${varible%string*}오른쪽 에서 왼쪽으로 첫 번 째 string 뒤의 문자열 을 캡 처 합 니 다."*"는 어댑터 일 뿐 입 니 다.예:
$ MYVAR=foodforthought.jpg
$ echo ${MYVAR##*fo}
rthought.jpg
$ echo ${MYVAR#*fo}
odforthought.jpg
2.두 번 째 방법:${varible:n1:n2}:변수 varible 이 n1 에서 n2 사이 의 문자열 을 캡 처 합 니 다.특정 문자 의 오프셋 과 길이 에 따라 다른 형식의 변 수 를 사용 하여 확장 하여 특정 하위 문자열 을 선택 할 수 있 습 니 다.bash 에 다음 줄 을 입력 해 보 세 요.
이런 형식의 문자열 은 절단 이 매우 간편 하기 때문에 시작 문자 와 하위 문자열 의 길 이 를 콜론 으로 나 누 어 지정 하기 만 하면 된다.
3.지 정 된 요구 에 따라 분할:예 를 들 어 접미사 이름 을 가 져 옵 니 다
$ EXCLAIM=cowabunga
$ echo ${EXCLAIM:0:3}
cow
$ echo ${EXCLAIM:3:7}
abunga
응용 소감:ls -al | cut -d “.” -f2