2009-01-16 7 views
2

내가 문자열의 수가 많은 가정 같은 형식 일 : PowerShell은 명령 행에서PowerShell에서 일련의 문자열을 효율적으로 변환하려면 어떻게해야합니까?

blah blahZZZZZblah blah 

: 내가 좋아하는 무언가로 이러한 문자열을 변환 할

<tag>blah blahXXXXXblah blah</tag> 

. 변형에서 XXXXX의 모든 인스턴스가 ZZZZZ로 대체되고 외부 태그가 제거됩니다. 올바른 형식의 XML이 아닙니다.

충분히 쉽게 평가할 수있는 스크립트를 작성할 수는 있지만,이 특정 소프트웨어 비트를 처리 할 때 필자는 내가 원하는 것보다 더 자주 이와 같은 작업을 수행한다는 것을 알게되었습니다. 나는 실행하는 .ps1 스크립트를 작성하는 추가 단계없이 powershell 명령 줄에서 바로 이것을 수행하는 방법을 배우는 데 관심이있다.

PowerShell이 ​​좋을 것으로 보입니다. 어떻게 해야할지 모르겠습니다. :)

답변

3

에게 내가 생각할 수있는 가장 간단한 방법을 만들 쓸 수있는 경우 (목록은 $ foo에 개최되어 있다고 가정) :

$foo | %{$_.Replace("XXXXX", "ZZZZZ")} 
+0

죄송합니다 ... 태그를 제거하고 싶지는 않지만 비슷한 내용입니다. – EBGreen

+0

이 경우 빈 문자열로 대체하면 태그를 제거 할 수 있습니다. 나는 % {} 구조가 내가 찾고있는 것이라고 생각한다. 고마워! 그것은 본질적으로 $ foo 구조의 foreach 객체입니까? –

+1

예. 실제로 ForEach-Object 커맨드 릿의 별명입니다.이 커맨드 릿은 원시 foreach 루프와 완전히 동일하지는 않지만 충분히 가깝습니다. Get-Alias ​​커맨드 렛은 사람들이 샘플 명령 행을 게시 할 때 어떤 작업인지 파악하는 데 유용합니다. – EBGreen

0

스크립트 그냥 cmdlet을 잘

MSDN docs on Cmdlet creation

+0

나는 무언가를 별도로 작성하지 않고 명령 행에서 그것을하는 방법을 명시 적으로 요구하고있다. –

관련 문제