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