반응형
sed 에서 2개 이상 검색으로 찾고 제일 마지막 조건에 매칭되는 문자열로 변환하는 방법?
sed에서는 여러 검색 조건을 동시에 사용할 수 있습니다. 이를 위해서는 각 검색 조건을 별도의 표현식으로 나타내고 이를 쉼표(,)로 구분하면 됩니다. 예를 들어, 파일에서 "apple"과 "orange"이라는 단어가 포함된 모든 라인에서 "fruit"으로 치환하고 싶은 경우 다음과 같이 사용할 수 있습니다.
sed -e '/apple.*orange/ s/.*/fruit/' filename.txt
위 예제에서, `/apple.*orange/`은 "apple"과 "orange"이라는 두 단어가 함께 포함된 라인을 찾는 검색 조건입니다. `s/.*/fruit/`는 해당 라인 전체를 "fruit"으로 치환합니다.
만약 "apple"과 "orange"이라는 단어가 각각 따로 있는 라인에서 "fruit"으로 치환하고 싶다면, 다음과 같이 두 개의 검색 조건을 사용하면 됩니다.
sed -e '/apple/ {/orange/ s/.*/fruit/}' filename.txt
위 예제에서, `/apple/`은 "apple"이 포함된 라인을 찾는 검색 조건입니다. 중괄호({}) 안에는 해당 라인에서 다른 검색 조건 `/orange/`을 추가하고, 그 라인을 "fruit"으로 치환하는 명령어가 포함됩니다.
이 방법으로는 두 개 이상의 검색 조건을 동시에 사용하고, 맨 마지막에 매칭되는 문자열로 치환할 수 있습니다.
---
- ChatGPT로부터 답변 받음
- answered by ChatGPT
반응형
'리눅스 shell' 카테고리의 다른 글
Redhat에서 cURL CA 번들 업데이트하는 방법? (0) | 2023.04.27 |
---|---|
모든 파일 md5sum 목록 보여주기 (0) | 2022.12.29 |
Linux에서 Zip 명령 소개 (0) | 2022.06.04 |
FIN_WAIT1 상태를 소켓에서 어떻게 제거하나요? (0) | 2022.05.21 |
nobody로 스크립트 실행하기 위해 crontab 사용하는 방법 (0) | 2022.04.26 |