반응형
문자열의 일부 문자를 다른 문자로 바꾸기
나는 같은 끈이 있다.AxxBCyyyDEFzzLMN그리고 나는 모든 발생을 대체하고 싶다.x,y,그리고.z와 함께_.
어떻게 하면 좋을까요?
나는 그것을 알고 있습니다.echo "$string" | tr 'x' '_' | tr 'y' '_'잘 될 것 같은데 파이프 없이 한 번에 하고 싶어요.
echo "$string" | tr xyz _
각 발생을 대체하다x,y, 또는z와 함께_,부여A__BC___DEF__LMN를 참조해 주세요.
echo "$string" | sed -r 's/[xyz]+/_/g'
반복적인 발생을 대체하다x,y, 또는z싱글로_,부여A_BC_DEF_LMN를 참조해 주세요.
orig="AxxBCyyyDEFzzLMN"
mod=${orig//[xyz]/_}
이 링크는 도움이 될 수 있습니다.http://tldp.org/LDP/abs/html/string-manipulation.html
일반적으로 첫 번째 일치를 대체한다.$substring와 함께$replacement:
${string/substring/replacement}
일치하는 항목을 모두 바꾸려면$substring와 함께$replacement:
${string//substring/replacement}
EDIT: 이것은 다음과 같은 변수에 적용됩니다.$string.
다음은 셸 파라미터 확장을 사용하여 여러 개의 연속된 오카렌스를 하나의 오카렌스로 대체한 솔루션입니다._:
$ var=AxxBCyyyDEFzzLMN
$ echo "${var//+([xyz])/_}"
A_BC_DEF_LMN
주의:+(pattern)패턴은 확장 패턴 매칭이 필요하며, 를 사용하여 설정
shopt -s extglob
또는 를 사용하여-s("syslog") 옵션tr:
$ tr -s xyz _ <<< "$var"
A_BC_DEF_LMN
read filename ;
sed -i 's/letter/newletter/g' "$filename" #letter
^필요한 만큼 이것들을 사용하면, 독자적인 BASIC 암호화를 작성할 수 있습니다.
echo 'I dont like PHP' | sed -r 's/I dont like/I love/g'
## Output: I love PHP
또는
echo 'I like PHP' | sed -r 's/like/love/g'
## Output: I love PHP
언급URL : https://stackoverflow.com/questions/2871181/replacing-some-characters-in-a-string-with-another-character
반응형
'programing' 카테고리의 다른 글
| 엔티티 프레임워크 VS LINQ에서 SQL로의 VS ADO.저장 프로시저를 사용하는 NET? (0) | 2023.04.10 |
|---|---|
| Node.js/Windows 오류: ENOENT, stat 'C:\Users\RT\AppData\로밍\npm' (0) | 2023.04.10 |
| 프로그래밍 방식으로 탐색 모음 높이 가져오기 (0) | 2023.04.10 |
| WPF의 리소스인 아이콘을 사용하려면 어떻게 해야 하나요? (0) | 2023.04.10 |
| 기능 프로그래밍의 '접기' 기능과 동등한 '피토닉'은 무엇입니까? (0) | 2023.04.10 |