링크를 추출하려는 HTML이 있습니다. 지금 파일은 다음과 같습니다.
website.com/path/to/file/234432517.gif" width="620">
website.com/path/to/file/143743e53.gif" width="620">
website.com/path/to/file/123473232.gif" width="620">
website.com/path/to/file/634132317.gif" width="620">
website.com/path/to/file/432432173.gif" width="620">
sed를 사용 " width="620">
하여 모든 줄에서 제거하려고합니다 . 내 sed 코드는 다음과 같습니다.
sudo sed -i "s/\"\swidth\=\"\d+\"\>//g" output
이것이 작동하지 않는 이유는 무엇입니까? 내가 Google에서 검색하는 모든 것은 이와 같은 코드로 이어지지 만 어떤 이유로 작동하지 않습니다.
PCRE (Perl Compatible Regular Expressions) 구문 sed
을 사용하고 있고이를 이해하지 못하기 때문에 기본적으로 BRE (Basic Regular Expressions)를 사용합니다. 그것은 \s
또는 \d
. 또한 (도 이스케이프 할 필요가 없습니다 모든 종류의 것들을 탈출하는 \=
나 \>
있다 아무것도 유용하고) (탈출해야 할 일을 탈출하지 않으면 서 +
단지 기호 의미 +
BRE에서, 당신이 필요로하는 \+
"에 대한 하나 또는 더".
필요한 작업을 수행해야합니다.
sed 's/" width="[0-9]\+">//g' file
또는 확장 정규식 사용 :
sed -E 's/"\s*width="[0-9]+">//g' file
마지막으로, 일반적으로 작동하는지 확인 하지 않고 첫 번째 테스트 없이는 절대 사용 sed -i
하지 -i
않거나, 작동하는 경우 적어도 -i.bak
( -i
텍스트와 함께 사용 ) 백업을 생성합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다