2010-11-19 7 views
-1

안녕하세요 저는 공백을 포함하여 bash에서 문자열로 문자를 이동해야합니다. 내가 어떻게 해?bash의 문자열

+3

유용한 답변을 얻으려면 더 자세한 내용과 얻으려는 결과의 예를 제공해야합니다. –

답변

1

실제로 어떤 의미인지는 모르겠지만 대부분의 경우 공백을 포함하는 문자열의 문제는 인용하여 해결할 수 있습니다.

a nice day이있는 경우 "a nice day" 또는 'a nice day'을 사용해보세요.

1

일부 외부 도구를 사용합니다. bash 쉘은 실제로 다른 프로그램을 일반적으로 간단한 조합으로 묶는 데 사용하기위한 것입니다.

필요에 따라 cut, awk, sed 또는 perl을 사용할 수 있습니다.

1

보십시오이

#/bin/bash 

str="so long and thanks for all the fish" 
while [ -n "$str" ] 
     do 
       printf "%c\n" "$str" 
       str=${str#?} 
done 
2

(즉, 영업 이익이 원하는 무엇 경우) 배쉬 직접 지원 문자열을 수행

$ A='Hello World!' 
$ echo "${A:3:5}" 
lo Wo 
$ echo "${A:5:3}" 
Wo 
$ echo "${A:7:3}" 
orl 

로 사용되는 확장은 일반화 : 매개 변수가

${PARAMETER:OFFSET:LENGTH} 

변수 이름. OFFSET과 LENGTH는`let '이 사용하는 숫자 표현입니다. 자세한 내용은 쉘 매개 변수 확장에 대한 bash 정보 페이지를 참조하십시오. 여기에 몇 가지 중요한 세부 사항이 있습니다.

따라서 원하는 경우 당신이 뭔가를 할 수 있습니다 자신의 줄에 각 변수의 내용에있는 모든 문자를 인쇄 :

$ for ((i=0; i<${#A}; i++)); do echo ${A:i:1}; done 

이 방법의 장점은, 다른 문자열을 저장해야 그 내용을 탈수 없다는 것입니다 또는 프로세스 대체와 함께 외부 유틸리티를 사용하십시오.