일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- MFA
- 앱리소스
- apple
- otpkey
- OSX
- SSH
- SwiftUI
- css
- FIDO2
- MSYS2
- openssl
- albumbook
- OTP
- fido
- kmip
- 2FA
- 앱스토어
- git
- Android
- 안드로이드
- Nodejs
- WebAuthn
- 애플
- 인증
- SSL
- SWIFT
- appres
- 앨범북
- Xcode
- MYSQL
Archives
- Today
- Total
인디노트
shell script 에서 문자열의 변수에 대하여 sed 명령으로 특정한 문장이 포함되어 있는 라인 찾기 본문
소스 팁/Shell Script
shell script 에서 문자열의 변수에 대하여 sed 명령으로 특정한 문장이 포함되어 있는 라인 찾기
인디개발자 2023. 4. 2. 08:21#!/bin/bash
old_string="찾을문자열"
new_string="바꿀문자열"
for i in "${!lines[@]}"
do
if [[ "${lines[$i]}" == *"$old_string"* ]]; then
lines[$i]=$(echo "${lines[$i]}" | sed "s/$old_string/$new_string/g")
fi
done
위 스크립트에서, for 루프를 사용하여 lines 배열의 각 요소를 처리합니다. if 문을 사용하여 $old_string 변수가 포함된 라인인 경우에만 치환 작업을 수행합니다. sed 명령어를 사용하여 $old_string 변수를 $new_string 변수로 치환합니다.
예를 들어, 문자열 배열 lines에서 문자열 "hello"를 "world"로 바꾸고자 하는 경우 다음과 같은 스크립트를 작성할 수 있습니다.
#!/bin/bash
old_string="hello"
new_string="world"
for i in "${!lines[@]}"
do
if [[ "${lines[$i]}" == *"$old_string"* ]]; then
lines[$i]=$(echo "${lines[$i]}" | sed "s/$old_string/$new_string/g")
fi
done
이 스크립트는 lines 배열에서 "hello" 문자열을 포함하는 모든 라인을 "world"로 바꿉니다.
반응형
'소스 팁 > Shell Script' 카테고리의 다른 글
shell script 에서 앞에서 찾은 lines 에서 특정 문자열을 포함하는 라인을 찾아 삭제하는 방법 (0) | 2023.04.02 |
---|---|
shell script 에서 앞에서 찾은 lines 에서 특정 문자열을 포함하는 라인을 찾아 그 바로 위에 다른 문자열을 삽입하는 방법 (0) | 2023.04.02 |
여러줄로 받은 문장을 배열 변수에 한줄 한줄 따로 넣는 방법 (0) | 2023.04.02 |
linux shell script 로 명령을 실행하여 출력되는 여러줄의 문장을 변수로 받는 방법 (0) | 2023.04.02 |
Comments