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
'your programing' 카테고리의 다른 글
통합 윈도우즈 인증을 사용하여 로그인 프롬프트 수신 (0) | 2023.05.22 |
---|---|
리눅스 복사는 하되 덮어쓰지 않는 방법은? (0) | 2023.05.22 |
UITableView에서 구분자 전폭을 설정하는 방법 (0) | 2023.04.22 |
VS2010에서 퍼블리시를 사용하여 Windows Azure에서 웹 사이트를 퍼블리시할 수 없음 (0) | 2023.04.22 |
전체 행 Openpyxl에 형식 적용 (0) | 2023.04.22 |