이 텍스트가 있다고 가정 해 봅시다 : My name is #1#!
.
다음 #1#
과 같이을 사이의 내용에 따라 다른 것으로 바꾸고 #
싶습니다.
if [ $thing_between_hash -eq 1 ]; then
subs=John
else
subs=Mary
fi
그러면 출력은 다음과 같습니다.
My name is John!
단일 sed
대체로 할 수 있습니까 ? 어떻게?
다음을 지원하는 sed 사용 -r
:
sed -r -e 's/#1#/John/g; s/#[^#]+#/Mary/g' <<< 'My name is #1#, not #5#!'
그렇지 않으면:
sed -e 's/#1#/John/g; s/#[^#][^#]*#/Mary/g' <<< 'My name is #1#, not #5#!'
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다