2017-05-17 3 views
2

변수 떠들썩한 파티의 선두 공백을받는 방법, 변수는 같은 수 있습니다 :예를 들어

중간 부분 'AB1 드 $의 %가'의 조합으로 지정할 수 있습니다.

선행 공백 문자의 하위 문자열을 가져 와서 다른 줄을 들여 쓰고 싶습니다.

+0

무엇을하기를 잘라내 하시겠습니까? '그래프'문자 만 (예 :'ab1de $ %')? 또는 후행 공백? –

답변

4

당신은 검색 및 바꾸기 사용할 수 있습니다parameter substitution :

leading_whitespace="${ANY/[^[:space:]]*/}" 

편집 :

또는도 문자열-제거parameter substitution는 아래 David C. Rankin 언급 :

leading_whitespace="${ANY%%[![:space:]]*}" 
+3

'[^ [: space :]] *'는 문제 사양에 더 가깝습니다. – rici

+0

@rici - 감사합니다. 동의합니다. 나는 대답을 업데이트 할 것이다. –

+2

* 하위 문자열 제거로 매개 변수 확장 * 또한'lws = "$ {any %% [! [: space :]] *}"' –

1

당신은 sed 사용할 수 있습니다

leading=$(sed -E 's/^([[:space:]]+).*/\1/' <<< "$string") 
1

당신은 ${parameter%%word}의 매개 변수 확장을 사용할 수 있습니다.

leading=${ANY%%[[:graph:]]*} 
+0

나는 ** rici ** [above]에 의해 언급 된 이유 때문에 ** David C. Rankin ** -'lws = "$ {ANY %% [! [: space :]] *} (http://stackoverflow.com/a/44016003/4279440) - 문제 설명에 더 가깝게 일치합니다. –