
고유 매개변수가 포함된 URL이 포함된 파일이 있는데, 그 중 일부에는 여러 매개변수가 있습니다. 모든 문자를 바꾸려고 합니다.뒤쪽에다른 것에 =
.
예시 URL file-containing-urls.txt
:
https://somewebsite.com/some/path/?parameter=value&another=somethingelse
명령 예 sed
:
sed -r '/^\=/!s/=.*$/=somevalue/g' file-containing-urls.txt
이것이 작동하는 동안 첫 번째 인수만 대체하고 다른 인수는 대체하지 않습니다. 제 생각에는모두뒤에 오는 문자는 =
특정 문자열입니다. 내 결과는 다음과 같습니다.
https://somewebsite.com/somepath/?param=mystring --> Works
https://somewebsite.com/new/path/?param1=mystring¶m2=removed --> Only works for param1
두 번째 예에서는 내 문자열도 로 전송되기를 원 하지만 첫 번째 값만 바꾸고 나머지는 무시하는 param2
것처럼 보입니다 . sed
다른 모든 매개변수는 보기에서 제거됩니다. 나는 이 문제를 해결할 것이라고 생각했지만 /g
항상 같은 결과를 얻었습니다. 감사합니다!
답변1
$ sed 's/=[^=&]*/=somevalue/g' file
https://somewebsite.com/some/path/?parameter=somevalue&another=somevalue