![일반 텍스트 정규식을 찾아 표준 Windows 소프트웨어로 바꿀 수 있는 방법이 있습니까?](https://rvso.com/image/1416376/%EC%9D%BC%EB%B0%98%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%EC%A0%95%EA%B7%9C%EC%8B%9D%EC%9D%84%20%EC%B0%BE%EC%95%84%20%ED%91%9C%EC%A4%80%20Windows%20%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%EB%A1%9C%20%EB%B0%94%EA%BF%80%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
긴 이야기는 짧게, 클라이언트가 최대 3MB 크기의 많은 SVG 파일에서 다음과 같은 정규식 찾기 및 바꾸기를 정기적으로 실행할 수 있도록 해야 합니다.
- 찾다:
font-family=".*?"
- 다음으로 교체:
font-family="Liberation Sans, Helvetica, Arial, sans-serif"
대부분의 코드 편집기에서는 쉽습니다. 그러나 문제는 이 프로세스를 수행할 직원이매우 제한된 환경- Microsoft Office 및 Adobe Illustrator를 제외하고 기본적으로 비표준 소프트웨어가 없는 Windows 7가상 데스크탑관리자 권한이 없습니다. 불행히도 이것은 협상할 수 없는 것 같습니다.
나는 경영진이 예외를 만들고 Notepad++와 같은 것을 그들의 환경에 추가할 수 있도록 사례를 만들려고 노력하고 있습니다. 그러나 이것은 들리는 것만큼 간단하지 않습니다. (제가 이해하는 바는 가상화되었기 때문에 사용자 정의 소프트웨어를 하나의 머신은 1,000개 이상의 머신이 사용하는 서버에 설치하는 것을 의미하며 이는 매우 저항적입니다.)
그렇다면 사용자 정의 소프트웨어 설치가 불가능하다고 가정하면 Windows 또는 Office와 함께 제공되는 도구를 사용하여 간단한 정규식 찾기/바꾸기를 수행할 수 있는 방법이 있습니까?
Word에 정규식 찾기/바꾸기 기능이 있다는 것을 알고 있지만 Word에 닿는 코드 파일을 엉망으로 만드는 것을 막을 수 있는 방법은 없습니다. Windows에는 다른 많은 작은 도구가 패키지로 포함되어 있습니다. 그 중 어떤 도구가 이 작업을 수행할 수 있습니까? 웹 기반 도구도 작동할 수 있습니다.
답변1
사실 선택지가 너무 많아요..
이 온라인 도구는 훌륭합니다 -->http://www.regexr.com/
또한 NOTEPAD++ 휴대용 버전을 다운로드하여 거기에서 무엇이든 실행할 수 있습니다.
행운을 빌어요!
답변2
VBScript를 실행할 수 있나요? 그렇다면 다음(빠르게 해킹된) VBScript가 작동합니다.
Option Explicit
If WScript.Arguments.Count <> 2 Then
WScript.Echo "Usage: " & WScript.ScriptName & " <input> <output>"
WScript.Quit
End If
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(WScript.Arguments.Item(0)) = False Then
WScript.Echo "Error: `" & WScript.Arguments.Item(0) & "` does not exist."
WScript.Quit
End If
Dim oFile : Set oFile = fso.OpenTextFile(WScript.Arguments.Item(0))
Dim sContents : sContents = oFile.ReadAll : oFile.Close
Dim re : Set re = New Regexp
re.IgnoreCase = True : re.Global = True : re.Pattern = "font-family=\"".*?\"""
sContents = re.Replace(sContents, "font-family=""Liberation Sans, Helvetica, Arial, sans-serif""")
Set oFile = fso.CreateTextFile(WScript.Arguments.Item(1), True)
oFile.Write sContents
oFile.Close
Set re = Nothing
Set oFile = Nothing
Set fso = Nothing
이를 다른 이름(예 convert.vbs
: )으로 저장한 후 다음 명령줄을 사용하여 실행합니다.
cscript convert.vbs <input file> <output file>
수정 사항으로 원본을 덮어쓰려면 파일 이름을 두 번 입력하세요. 예:
cscript convert.vbs diagram.svg diagram.svg
귀하의 수준에 따라 이를 수정하여 파일 그룹에 대해 작업하거나 파일 수만큼 이를 호출하는 배치 파일을 작성할 수 있습니다.