PowerShell로 Excel의 VlookUp을 하고 싶은 거.
8957 단어 PowerShelltech
하고 싶은 일
다음 파일이 있어도
sample2.csv
"foo",100,data1
"bar",200,data2
"hoge",300,data3
첫 번째 열에 맞는 두 번째 줄을 표시하고 싶습니다.예를 들어,
bar
가 검색 객체인 경우 data2
를 표시합니다.이미지
> myVLookUP .\sample2.csv "bar" 2
data2
스크립트 예
myVLookUP.ps1
Function vlookup($filename, $pattern, $num)
{
$A = Select-String -Pattern $pattern $filename
$B = $A.toString().Split(",");
$B[$num]
}
vlookup .\sample2.csv "bar" 2
실행 결과는 다음과 같다.> .\myVLookUp.ps1
data2
Function 정보
Function의 쓰기 방법은 문서에 기재되어 있다.
보충(Get-Member)
이번에 제작된 스크립트는 함수에서 사용
$A
,$B
.myVLookUP.ps1
Function vlookup($filename, $pattern, $num)
{
$A = Select-String -Pattern $pattern $filename
$B = $A.toString().Split(",");
$B[$num]
}
vlookup .\sample2.csv "bar" 2
이 멤버들은 뭐가 있을까.Get-Member.예를 들어
$A
의 멤버들을 보세요.다음과 같이 표시됩니다.
> $A = Select-String -Pattern "bar" .\sample2.csv
> $A | Get-Member
TypeName: Microsoft.PowerShell.Commands.MatchInfo
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
RelativePath Method string RelativePath(string directory)
ToString Method string ToString(), string ToString(string directory)
Context Property Microsoft.PowerShell.Commands.MatchInfoContext Context {get;set;}
Filename Property string Filename {get;}
IgnoreCase Property bool IgnoreCase {get;set;}
Line Property string Line {get;set;}
LineNumber Property int LineNumber {get;set;}
Matches Property System.Text.RegularExpressions.Match[] Matches {get;set;}
Path Property string Path {get;set;}
Pattern Property string Pattern {get;set;}
Reference
이 문제에 관하여(PowerShell로 Excel의 VlookUp을 하고 싶은 거.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/saitoyutaka/articles/97cd57ef3de845텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)