PowerShell로 peco (인터랙티브 필터링 도구) 같은 것을 만들었습니다.
3316 단어 PowerShellPeco
왜 만든
그대로 peco 사용하면 좋다
peco는 텍스트 스트림을 처리하는 명령이며 PowerShell 개체를 처리하는 명령이 아닙니다. 따라서 Where-Object와 같이 객체를 객체 그대로 필터링 할 수 없습니다. 그대로 객체로 필터링할 수 있는 명령을 원했기 때문에 만들었다.
Out-GridView -PassThru로 충분합니다.
완전히 그대로이고, 보통은 풍부한 필터링 기능을 가지는 Out-GridView
를 사용해야 한다. 다만, 절각 CLI 사용하고 있는데 GUI 에 의지하고 싶지 않다는 생각이 있었기 때문에 만들었다.
사용법
링크 대상(Gist) 의, 각 파일을 로컬로 만들어, poco.psm1
를 임포트하면 사용할 수 있게 된다.
쿼리 작성 방법
:
다음에 필터링에 사용하고 싶은 프로퍼티명을 기술한다. 그 프로퍼티치와 비교하고 싶은 단어를 반각 스페이스 단락으로 뒤에 기술한다. 각 조건은 논리 곱으로 결합됩니다.
예를 들어, :name chrome :id 5
는 Where-Object {$_.name -match 'chrome' -and $_.id -match '5'}
와 같이 해석된다.
:
단 한 글자 뒤 또는 쿼리의 시작 부분에 :
로 시작하지 않는 단어를 작성하면 해당 단어는 객체와 직접 비교됩니다.
예를 들어, powershell
는 Where-Object {$_ -match 'powershell'}
와 같이 해석된다.
또한 Alt+R
를 누르면 필터링에 사용되는 비교 연산자를 전환 할 수 있습니다 (match, like, eq). 또한 Alt+C
에서 c를 Alt+I
에서 not하거나 제거 할 수 있습니다. 그 때문에, 비교 연산자에는 match, cmatch, notmatch, cnotmatch, like, clike, ...를 사용할 수 있다.
키 매핑
링크 대상(Gist) 의 poco_key.ps1 를 참조. (실장되어 있지 않은 기능에도 매핑되고 있다.)
코드
코드는 Gist 에 붙여져 있다. 덧붙여 실장은 오셀로 게임 만들기 (1) - PowerShell Memo (을)를 코피페 하고 있으므로, 코드를 쫓는다면 오셀로 게임의 쪽의 해설을 먼저 읽는 것이 좋다.
이케하지 않는 부분 다양한
링크 대상(Gist) 의, 각 파일을 로컬로 만들어,
poco.psm1
를 임포트하면 사용할 수 있게 된다.쿼리 작성 방법
:
다음에 필터링에 사용하고 싶은 프로퍼티명을 기술한다. 그 프로퍼티치와 비교하고 싶은 단어를 반각 스페이스 단락으로 뒤에 기술한다. 각 조건은 논리 곱으로 결합됩니다.예를 들어,
:name chrome :id 5
는 Where-Object {$_.name -match 'chrome' -and $_.id -match '5'}
와 같이 해석된다.:
단 한 글자 뒤 또는 쿼리의 시작 부분에 :
로 시작하지 않는 단어를 작성하면 해당 단어는 객체와 직접 비교됩니다.예를 들어,
powershell
는 Where-Object {$_ -match 'powershell'}
와 같이 해석된다.또한
Alt+R
를 누르면 필터링에 사용되는 비교 연산자를 전환 할 수 있습니다 (match, like, eq). 또한 Alt+C
에서 c를 Alt+I
에서 not하거나 제거 할 수 있습니다. 그 때문에, 비교 연산자에는 match, cmatch, notmatch, cnotmatch, like, clike, ...를 사용할 수 있다.키 매핑
링크 대상(Gist) 의 poco_key.ps1 를 참조. (실장되어 있지 않은 기능에도 매핑되고 있다.)
코드
코드는 Gist 에 붙여져 있다. 덧붙여 실장은 오셀로 게임 만들기 (1) - PowerShell Memo (을)를 코피페 하고 있으므로, 코드를 쫓는다면 오셀로 게임의 쪽의 해설을 먼저 읽는 것이 좋다.
이케하지 않는 부분 다양한
입력에 대한 반응이 느림
페이징할 수 없음
선택할 수 없음
:
[:]
라든지 쓸 수 있지만 탭 완성 없음
특수 키 입력이 제거되지 않음
정직하고 실용적인 cmdlet을 누군가가 만들 것을 기대합니다
Reference
이 문제에 관하여(PowerShell로 peco (인터랙티브 필터링 도구) 같은 것을 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yumura_s/items/a068329769c6338471dd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)