한 번에 텍스트 파일을 체크인하고 특정 문자열을 제거해야하는 스크립트를 작성 중입니다. 지금까지 나는 이것을 가지고있다 :
powershell -Command "(gc myFile.txt) -replace 'foo', 'bar' | Out-File -encoding ASCII myFile.txt"
유일한 문제는 찾아서 바꿀 수는 있지만 줄을 모두 함께 제거하지는 않는다는 것입니다.
두 번째 문제는 내가있는 줄을 제거한다고 말하면 Mark
, 다음과 같은 줄을 제거 할 필요가 없다는 것 Markus
입니다.
이것이 powershell 인터페이스에서 가능한지 모르겠습니까?
단지 대체합니다 현재 코드 foo
로는 bar
,이 무엇입니까 replace
않습니다.
일치하는 경우 전체 줄을 제거 notmatch
하려면 필터와 일치하지 않는 모든 줄을 출력하는 데 사용할 수 있으므로 거의 역순으로 다른 접근 방식이 필요 합니다.
또한 정규식 단어 경계 를 사용하면 일치 Mark
하지만 일치 하지 않습니다 Markus
.
(Get-Content file.txt) | Where-Object {$_ -notmatch "\bMark\b"} | Set-Content file.txt
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다