텍스트 파일에서 정규식을 검색하려고했는데 일치 범위 내에서 한 문자를 다른 문자로 바꿉니다. 제 문제는 제가 간단한 방법으로는 할 수 없다는 것입니다.정규식 일치 문자 만 바꾸기
예제 소스 파일 :
...
<br>
<a id="some shopitem" ref="#some shop item name 01 a" style="text-decoration:none;"><h3 style="background-color: #ccc;">blah blab hasdk sldk sasdas dasda sd</h3></a>
<table>
<td width="500">
....
내가 ("공백 어떤 이름 #"REF =) 정규 표현식
ref=\"#[[:alnum:] ]*\"
일치 할 필요가
거기에 경기에 공백을 대체 -하지만 물론 변화를하지 않습니다 "" 다른 공백이 있거나 정규식이 일치합니다.
그래서 결과를해야 다음과 같습니다
....
<br>
<a id="some shopitem" href="#some-shop-item-name-01-a" style="text-decoration:none;"><h3 style="background-color: #ccc;">blah blab hasdk sldk sasdas dasda sd</h3></a>
<table>
<td width="500">
....
는 그냥 bash는 한 줄의 명령 스크립트의 어떤 종류없이 그것을 할도 수 있을까요? 그룹의 공백을 대체하는 방법이 있습니까? sed -r s/ref=\"#([[:alnum:] ]*\)/(\1s/ /-/g)/g'
과 같은 무엇입니까?
놀라운 :이 것은 무엇을 알고 싶어 그냥 경우 D
, 여기에 대한 설명입니다 일! 그래서 동정심, perl이 있기 때문에 일을 훨씬 쉽게 할 수 있습니다. 나는 그것이 당신이 bash를 가지고 그것을 할 수 있다는 것을 아주 감명을 줄 때까지 당신의 방법을 해결책으로 표시 할 것입니다. 너는 나의 존경심을 가지고있다. – Jan
난 그냥 재미의 개념으로 그리고 개념의 증거로 이것을했다. "정직한 해결책"을 의미하는 것이 아니며 단지 bash만으로 가능하다는 것을 보여줄뿐입니다. 이 망할 거대한 것은 거의 읽을 수 없으며 예상대로 작동하지 않으면 디버깅하는 데 어려움이 있습니다.) –