your programing

Bash에서 한 문자를 다른 문자로 바꿉니다.

lovepro 2023. 4. 22. 22:40
반응형

Bash에서 한 문자를 다른 문자로 바꿉니다.

공간을 교체해야 합니다( 점( )이 붙어 있습니다..)를 bash 문자열로 입력합니다.

이것은 매우 간단하다고 생각합니다만, 저는 처음이라 비슷한 예를 어떻게 수정해야 할지 모르겠습니다.

인라인 셸 문자열 치환을 사용합니다.예:

foo="  "

# replace first blank only
bar=${foo/ /.}

# replace all blanks
bar=${foo// /.}

상세한 것에 대하여는, http://tldp.org/LDP/abs/html/string-manipulation.html 를 참조해 주세요.

사용할 수 있습니다.tr, 다음과 같이 합니다.

tr " " .

예:

# echo "hello world" | tr " " .
hello.world

부터man tr:

묘사
표준 입력에서 표준 출력으로 문자를 변환, 스퀴즈 및/또는 삭제합니다.

bash에서는 다음 명령어를 사용하여 문자열의 패턴 치환을 수행할 수 있습니다.${VARIABLE//PATTERN/REPLACEMENT}건설하다.그냥 사용/가 아니라//첫 번째 항목만 바꿉니다.패턴은 파일글로브와 같은 와일드카드 패턴입니다

string='foo bar qux'
one="${string/ /.}"     # sets one to 'foo.bar qux'
all="${string// /.}"    # sets all to 'foo.bar.qux'

이거 드셔보세요

 echo "hello world" | sed 's/ /./g' 

매개 변수 대체 사용:

string=${string// /.}

경로에 대해 다음을 시도합니다.

echo \"hello world\"|sed 's/ /+/g'|sed 's/+/\/g'|sed 's/\"//g'

큰따옴표로 둘러싸인 문자열 내의 공간을+sing을 하고 나서+백슬래시로 서명하고 더블슬래시를 제거/연결합니다.

사이그윈에 있는 내 경로의 공간을 대체하기 위해 이걸 사용해야만 했어

echo \"$(cygpath -u $JAVA_HOME)\"|sed 's/ /+/g'|sed 's/+/\\/g'|sed 's/\"//g'

체크에 의한 권장 솔루션은 다음과 같습니다.

string="Hello World" ; echo "${string// /.}"
output: Hello.World

언급URL : https://stackoverflow.com/questions/5928156/replace-one-character-with-another-in-bash

반응형