mingw에서 문자열의 따옴표로 검색하고 바꾸는 방법은 무엇입니까?

바딤 페레 토킨

sedmingw에서 사용 하지만 보안 설정이 손상되고 powershell이 ​​작동합니다. 예를 들면 다음과 같습니다.

powershell -Command "(gc configure) -replace 'uname -msr', 'uname -ms' | Out-File -encoding ASCII configure"

그러나 찾기 / 바꾸기 문자열에 따옴표가 필요할 때 작동하지 않습니다. 해당 powershell 명령에서 따옴표를 이스케이프하거나 파일을 손상시키지 않고 일반적으로 찾아서 바꿀 수 있습니까?

나는 시도 `"했지만 견적 여행이 부풀어 오른다. 나는 시도 `\"했지만 그것도 작동하지 않았습니다.

내 질문은 여기서 powershell과 bash를 모두 다루고 있기 때문에 따옴표 powershell이있는 문자열에서 대체 연산자 사용과 중복되지 않습니다 .

다음은 성공하지 못한 사례입니다.

$ powershell -Command \"(Get-Content CMakeLists.txt).Replace(\"SET(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} /W4\")\", \"SET(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS}\\")") | Out-File -encoding ASCII configure\"
sh: syntax error near unexpected token `('

$ powershell -Command "(Get-Content CMakeLists.txt).Replace("SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")", "SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")") | Out-File -encoding ASCII configure"
sh: syntax error near unexpected token `('

# this one goes through...
$ powershell -Command "(Get-Content CMakeLists.txt).Replace('SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")', 'SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")') | Out-File -encoding ASCII configure"

# But doesn't actually apply the change
$ cat CMakeLists.txt | grep CMAKE_C_FLAGS
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
  SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")

다음은 내가 교체하고 싶은 파일이고, 내가하고 싶은 모든 교체 파일입니다 .

SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4") to SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
SET(linkFlags "/PDB:NONE /INCREMENTAL:NO /OPT:NOREF /OPT:NOICF") to SET(linkFlags)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996 /wd4255 /wd4130 /wd4100 /wd4711") to SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
SET(CMAKE_C_FLAGS_DEBUG "/D DEBUG /Od /Z7") to SET(CMAKE_C_FLAGS_DEBUG "-g")
SET(CMAKE_C_FLAGS_RELEASE "/D NDEBUG /O2") to SET(CMAKE_C_FLAGS_RELEASE "-O2")
마틴 브랜들

대체에 정규식 함수를 사용하면 큰 따옴표 를 사용 하지 않을 수 -replace있습니다. 이렇게해야합니다.

powershell -Command "(Get-Content CMakeLists.txt -Raw) -replace '\/W4' -replace '(?<=SET\(linkFlags)[^\)]+' -replace '\/wd4996 \/wd4255 \/wd4130 \/wd4100 \/wd4711' -replace '(?<=SET\(CMAKE_C_FLAGS_DEBUG .)\/D \DEBUG \/Od \/Z7', '-g' -replace '(?<=SET\(CMAKE_C_FLAGS_RELEASE .)\/D NDEBUG \/O2', '-O2' | Out-File -encoding ASCII configure"

-EncodedCommandpowershell.exe 매개 변수를 사용하여 base-64로 인코딩 된 문자열 버전의 명령 을 전달할 수도 있습니다 . 다음은 PowerShell을 사용하여 base-64로 인코딩 된 문자열을 가져 오는 방법의 예입니다.

$cmd = 
@'
(Get-Content CMakeLists.txt).Replace('SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")', 'SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")') | Out-File -encoding ASCII configure
'@

$encodedCmd = [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($cmd))

이제 다음 $encodedCmd과 같은 내용을 사용하여 인코딩 된 명령을 호출 할 수 있습니다 .

powershell -EncodedCommand 'KABHAGUAdAAtAEMAbwBuAHQAZQBuAHQAIABDAE0AYQBrAGUATABpAHMAdABzAC4AdAB4AHQAKQAuAFIAZQBwAGwAYQBjAGUAKAAnAFMARQBUACgAQwBNAEEASwBFAF8AQwBfAEYATABBAEcAUwAgACIAJAB7AEMATQBBAEsARQBfAEMAXwBGAEwAQQBHAFMAfQAgAC8AVwA0ACIAKQAnACwAIAAnAFMARQBUACgAQwBNAEEASwBFAF8AQwBfAEYATABBAEcAUwAgACIAJAB7AEMATQBBAEsARQBfAEMAXwBGAEwAQQBHAFMAfQAiACkAJwApACAAfAAgAE8AdQB0AC0ARgBpAGwAZQAgAC0AZQBuAGMAbwBkAGkAbgBnACAAQQBTAEMASQBJACAAYwBvAG4AZgBpAGcAdQByAGUA' -NoProfile

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

cmd 또는 PowerShell로 파일의 문자열을 검색하고 바꾸는 방법은 무엇입니까?

분류에서Dev

XML에서 XPATH로 아포스트로피 따옴표로 문자열을 검색하는 방법은 무엇입니까?

분류에서Dev

csv 파일의 PHP에서 작은 따옴표를 str_replace로 바꾸는 방법은 무엇입니까?

분류에서Dev

R의 문자열에서 작은 따옴표를 제거하는 방법은 무엇입니까?

분류에서Dev

파이썬 목록의 문자열에서 큰 따옴표를 제거하는 방법은 무엇입니까?

분류에서Dev

u-boot에서 문자열의 따옴표를 인용하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 공백이 따옴표로 묶인 경우 문자열의 모든 공백을 바꾸는 방법은 무엇입니까?

분류에서Dev

Jinja2에서 작은 따옴표로 묶인 문자열을 파란색으로 강조 표시하는 방법은 무엇입니까?

분류에서Dev

루비의 문자열에 작은 따옴표를 추가하는 방법은 무엇입니까?

분류에서Dev

R에서 따옴표로 묶인 문자열의 구분 기호를 분할하지만 무시하는 방법은 무엇입니까?

분류에서Dev

문자열의 양쪽 끝에 따옴표를 추가하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 큰 따옴표 사이의 공백을 제외한 공백으로 문자열을 분할하는 방법은 무엇입니까?

분류에서Dev

쉼표로 구분 된 문자열의 각 값에 큰 따옴표를 적용하는 방법은 무엇입니까?

분류에서Dev

Shell : 파일에서 큰 따옴표 안에있는 문자 만 바꾸는 방법은 무엇입니까?

분류에서Dev

깨진 파일에서 유니 코드 단일 문자로 이중 문자를 검색하고 바꾸는 방법은 무엇입니까?

분류에서Dev

문자열 PHP에서 큰 따옴표 뒤에 쉼표를 추가하는 방법은 무엇입니까?

분류에서Dev

LexisNexis에서 따옴표를 검색하는 방법은 무엇입니까?

분류에서Dev

작은 따옴표로 묶인 문자열에서 문자를 구문 분석하는 방법은 무엇입니까?

분류에서Dev

"" "(세 개의 따옴표)를 원시 문자열로 인코딩하는 방법은 무엇입니까?

분류에서Dev

Android의 sqlite db에 작은 따옴표로 텍스트를 삽입하는 방법은 무엇입니까?

분류에서Dev

csv 문자열 내에서 큰 따옴표와 쉼표를 처리하는 방법은 무엇입니까?

분류에서Dev

Intellij에서 줄의 일부를 검색 / 바꾸기로 바꾸는 방법은 무엇입니까?

분류에서Dev

배열에서 따옴표를 무작위로 선택하는 함수를 코딩하는 방법은 무엇입니까? -안드로이드 자바

분류에서Dev

문자열 목록에서 큰 따옴표를 제거하는 방법은 무엇입니까?

분류에서Dev

문자열 목록에서 따옴표를 제거하는 방법은 무엇입니까?

분류에서Dev

Apps Script-Google 문서에서 스마트 따옴표 문자를 일반 문자로 바꾸는 방법은 무엇입니까?

분류에서Dev

부분 문자열 일치로 열 이름을 검색하고 사전으로 열의 값을 바꾸는 방법은 무엇입니까?

분류에서Dev

정규식을 사용하여 큰 따옴표로 묶인 문자열을 바꾸는 방법은 무엇입니까?

분류에서Dev

jinja / html로 따옴표 안의 따옴표를 처리하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    cmd 또는 PowerShell로 파일의 문자열을 검색하고 바꾸는 방법은 무엇입니까?

  2. 2

    XML에서 XPATH로 아포스트로피 따옴표로 문자열을 검색하는 방법은 무엇입니까?

  3. 3

    csv 파일의 PHP에서 작은 따옴표를 str_replace로 바꾸는 방법은 무엇입니까?

  4. 4

    R의 문자열에서 작은 따옴표를 제거하는 방법은 무엇입니까?

  5. 5

    파이썬 목록의 문자열에서 큰 따옴표를 제거하는 방법은 무엇입니까?

  6. 6

    u-boot에서 문자열의 따옴표를 인용하는 방법은 무엇입니까?

  7. 7

    파이썬에서 공백이 따옴표로 묶인 경우 문자열의 모든 공백을 바꾸는 방법은 무엇입니까?

  8. 8

    Jinja2에서 작은 따옴표로 묶인 문자열을 파란색으로 강조 표시하는 방법은 무엇입니까?

  9. 9

    루비의 문자열에 작은 따옴표를 추가하는 방법은 무엇입니까?

  10. 10

    R에서 따옴표로 묶인 문자열의 구분 기호를 분할하지만 무시하는 방법은 무엇입니까?

  11. 11

    문자열의 양쪽 끝에 따옴표를 추가하는 방법은 무엇입니까?

  12. 12

    파이썬에서 큰 따옴표 사이의 공백을 제외한 공백으로 문자열을 분할하는 방법은 무엇입니까?

  13. 13

    쉼표로 구분 된 문자열의 각 값에 큰 따옴표를 적용하는 방법은 무엇입니까?

  14. 14

    Shell : 파일에서 큰 따옴표 안에있는 문자 만 바꾸는 방법은 무엇입니까?

  15. 15

    깨진 파일에서 유니 코드 단일 문자로 이중 문자를 검색하고 바꾸는 방법은 무엇입니까?

  16. 16

    문자열 PHP에서 큰 따옴표 뒤에 쉼표를 추가하는 방법은 무엇입니까?

  17. 17

    LexisNexis에서 따옴표를 검색하는 방법은 무엇입니까?

  18. 18

    작은 따옴표로 묶인 문자열에서 문자를 구문 분석하는 방법은 무엇입니까?

  19. 19

    "" "(세 개의 따옴표)를 원시 문자열로 인코딩하는 방법은 무엇입니까?

  20. 20

    Android의 sqlite db에 작은 따옴표로 텍스트를 삽입하는 방법은 무엇입니까?

  21. 21

    csv 문자열 내에서 큰 따옴표와 쉼표를 처리하는 방법은 무엇입니까?

  22. 22

    Intellij에서 줄의 일부를 검색 / 바꾸기로 바꾸는 방법은 무엇입니까?

  23. 23

    배열에서 따옴표를 무작위로 선택하는 함수를 코딩하는 방법은 무엇입니까? -안드로이드 자바

  24. 24

    문자열 목록에서 큰 따옴표를 제거하는 방법은 무엇입니까?

  25. 25

    문자열 목록에서 따옴표를 제거하는 방법은 무엇입니까?

  26. 26

    Apps Script-Google 문서에서 스마트 따옴표 문자를 일반 문자로 바꾸는 방법은 무엇입니까?

  27. 27

    부분 문자열 일치로 열 이름을 검색하고 사전으로 열의 값을 바꾸는 방법은 무엇입니까?

  28. 28

    정규식을 사용하여 큰 따옴표로 묶인 문자열을 바꾸는 방법은 무엇입니까?

  29. 29

    jinja / html로 따옴표 안의 따옴표를 처리하는 방법은 무엇입니까?

뜨겁다태그

보관