출력 파일 이름, select-string이 있는 문자열이 아님
특정 문자열에 대한 소스 코드를 "grep"하기 위해 powershell을 사용하고 있습니다.파일에 문자열이 있으면 해당 문자열이 포함된 코드 줄이 아닌 파일 이름을 원합니다.
파일 이름도 파일이 존재하는 횟수만큼 나열되지 않고 한 번만 알고 싶습니다.
현재 사용 중:
gci . -include "*.sql" -recurse | select-string -pattern 'someInterestingString'
이제 저는 select-string의 출력이 일종의 oobject라는 것을 이해했습니다. 그리고 제가 콘솔에서 보고 있는 것은, 제가 추측하기로는,ToString()
그 물건의.제 생각에 제가 할 수 있는 일은format-table
선택 문자열의 출력을 제어하기 위해, 그리고 내 생각에.sort
고유한 값만 얻을 수 있습니다.
하지만 그것은 많은 추측입니다.
저는 당신이 무엇을 하려고 하는지 완전히 이해하지 못하는 것 같습니다.출력을 파일별로 그룹화하려면 다음으로 연결할 수 있습니다.Format-Table
와 함께-GroupBy
매개변수:
gci . -include "*.sql" -recurse `
| select-string -pattern 'someInterestingString' `
| Format-Table -GroupBy Path
다른 정보 없이 일치하는 파일 이름만 가져오려면 다음을 사용할 수 있습니다.Select-Object
와 함께-Unique
매개변수:
gci . -include "*.sql" -recurse `
| select-string -pattern 'someInterestingString' `
| Select-Object -Unique Path
파일 이름에만 관심이 있는 경우 이름이 계층에 여러 번 나타나는지 여부에 관계없이 파일 이름만 선택할 수 있습니다.Filename
재산 대신에.
참고: TheGet-Member
cmdlet은 개체에 존재하는 속성을 파악하는 데 큰 도움이 됩니다.
gci . -include "*.sql" -recurse `
| select-string -pattern 'someInterestingString' `
| Get-Member
별칭을 사용할 수도 있습니다.gm
대신.
이 작업을 수행할 때 -List 매개 변수를 사용하면 코드 줄이 표시되지만 파일당 한 줄만 표시됩니다(일치 항목 수에 관계없이).
PS> Get-ChildItem . -r *.cs | Select-String XmlNode -list
Commands\SnapinHelp\CmdletInfo.cs:27: public List<XmlNode> InputTypes;
Commands\SnapinHelp\GetSnapinHelpCommand.cs:124: WriteXmlNodeList(c...
Commands\SnapinHelp\ParameterInfo.cs:73: XmlNode FindNode(XmlDocument doc)
Commands\Xml\XmlCommandBase.cs:65: RegisterInputType<XmlNode>(Proce...
경로를 원하는 경우:
PS> Get-ChildItem . -r *.cs | Select-String XmlNode -list |
Format-Table Path
Path
--------
C:\Users\Keith\Pscx\Src\PscxSnapin\Commands\SnapinHelp\CmdletInfo.cs
C:\Users\Keith\Pscx\Src\PscxSnapin\Commands\SnapinHelp\GetSnapinHelpCommand.cs
C:\Users\Keith\Pscx\Src\PscxSnapin\Commands\SnapinHelp\ParameterInfo.cs
C:\Users\Keith\Pscx\Src\PscxSnapin\Commands\Xml\XmlCommandBase.cs
또는 파일 이름만 원하는 경우:
PS> Get-ChildItem . -r *.cs | Select-String XmlNode -list |
Format-Table Filename
Filename
--------
CmdletInfo.cs
GetSnapinHelpCommand.cs
ParameterInfo.cs
XmlCommandBase.cs
하는 것이 더 쉽다는 것을 알았습니다.
(...|select-string "search").Path
언급URL : https://stackoverflow.com/questions/1499575/output-filename-not-string-with-select-string
'programing' 카테고리의 다른 글
선택 요소에서 선택한 옵션 가져오기 (0) | 2023.08.21 |
---|---|
null을 삽입할 때 기본값 삽입 (0) | 2023.08.21 |
Swift 3에서 현재 날짜를 확인하시겠습니까? (0) | 2023.08.21 |
MySQL에서 시퀀스를 만들려면 어떻게 해야 합니까? (0) | 2023.08.21 |
테이블 가져오기 및 생성과 관련된 sql (0) | 2023.08.21 |