일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- SwiftUI
- WebAuthn
- kmip
- SSH
- git
- OTP
- MFA
- openssl
- otpkey
- apple
- 앱리소스
- Android
- MYSQL
- 인증
- 2FA
- Nodejs
- SSL
- OSX
- 애플
- fido
- 안드로이드
- MSYS2
- FIDO2
- 앨범북
- css
- albumbook
- Xcode
- 앱스토어
- appres
- SWIFT
Archives
- Today
- Total
인디노트
shell script 에서 앞에서 찾은 lines 에서 특정 문자열을 포함하는 라인을 찾아 그 바로 위에 다른 문자열을 삽입하는 방법 본문
소스 팁/Shell Script
shell script 에서 앞에서 찾은 lines 에서 특정 문자열을 포함하는 라인을 찾아 그 바로 위에 다른 문자열을 삽입하는 방법
인디개발자 2023. 4. 2. 08:27#!/bin/bash
old_string="찾을문자열"
new_string="삽입할문자열"
for i in "${!lines[@]}"
do
if [[ "${lines[$i]}" == *"$old_string"* ]]; then
lines=("${lines[@]:0:$i}" "$new_string" "${lines[@]:$i}")
fi
done
위 스크립트에서, for 루프를 사용하여 lines 배열의 각 요소를 처리합니다. if 문을 사용하여 $old_string 변수가 포함된 라인인 경우에만 삽입 작업을 수행합니다. lines 배열의 $i 번째 요소 앞과 뒤에 $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=("${lines[@]:0:$i}" "$new_string" "${lines[@]:$i}")
fi
done
이 스크립트는 lines 배열에서 "hello" 문자열을 포함하는 모든 라인 바로 위에 "world"를 삽입합니다.
반응형
'소스 팁 > 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 |
Comments