PowerShell 입력 및 출력
새로운 컴퓨터 언어를 배울 때 가장 먼저하는 일 중 하나는 입력과 출력을하는 방법을 배우는 것입니다. `link : / windows-Introduction_to_PowerShell [Introduction to PowerShell]`팁에서 출력하는 방법을 배웠습니다. 기억 나시면 Write-Output cmdlet을 사용했습니다. 이제 파일을 읽고 화면에 출력을 표시하는 방법을 배울 시간입니다.
“C : \ Temp \ Temp.txt”라는 텍스트 파일이 있고 10 줄이 포함되어 있다고 가정 해 보겠습니다. 이러한 줄을 표시하는 가장 간단한 방법은 Get-Content cmdlet을 사용하는 것입니다. 파일에 대해이 cmdlet을 실행하는 모습은 다음과 같습니다 (그림 1 참조).
그림 1. Get-Content가 파일을 읽습니다.
파일의 처음 세 줄만 표시하려면 어떻게해야합니까?
이를 수행하는 방법에는 여러 가지가 있지만 아마도 가장 간단한 방법은 변수를 사용하는 것입니다. PowerShell에서 변수는 모든 데이터 유형이 될 수 있으며 변수 이름은 “$”로 시작합니다. 변수 이름의 예로는 “$ myName”, “$ numbers”, “$ today”등이 있습니다. “=”기호로 변수에 값을 할당하므로 유효한 PowerShell 명령은
PS> $myName = 'Barry'
그 배경으로 이제 우리는 파일의 처음 세 줄을 표시하기에 충분합니다. 파일 내용을 $ lines라는 변수에 할당 한 다음 its 처음 세 줄을 표시합니다 (그림 2 참조).
그림 2. 변수 사용.
여기에서 파일의 내용을 $ lines 변수 (실제로는 배열)에 할당하고 “[0..2]”구문을 사용하여 배열의 요소 0, 1 및 2에 액세스합니다. 요소 0은 첫 번째 줄입니다. 요소 1은 두 번째 줄입니다. 요소 2는 세 번째 줄입니다.
배열의 마지막 줄에 액세스하는 것도 쉽습니다. 이는 음의 첨자를 사용하여 수행되므로 $ line [-1]은 배열의 마지막 줄입니다. $ line [-2]는 배열의 두 번째에서 마지막 줄입니다. 다음 그림은 파일의 마지막 세 줄을 표시하는 방법을 보여줍니다. (그림 3 참조)
그림 3. 음의 첨자를 사용하여 배열에 액세스.
파일에서 텍스트를 검색하는 또 다른 방법은 파일을 검색하고 결과를 표시하는 것입니다. PowerShell에서 텍스트를 검색하려면 Select-String cmdlet을 사용합니다. Select-String은 cmdlet에 대한 도움을 요청하는 경우 확인할 수있는 많은 스위치를 사용하지만 간단한 양식에서는 찾고있는 파일 이름과 패턴 만 지정하면됩니다. 따라서 파일에서 “line”(모든 줄) 텍스트가 포함 된 모든 줄을 찾으려면 다음과 같이 할 수 있습니다. (그림 4 참조)
그림 4. 파일에서 패턴 검색.
Select-String은 정규식을 사용하여 검색하기 때문에 매우 강력합니다. ( “Introduction to Regular Expressions”라는 또 다른 팁이 있습니다.) 따라서 “l”로 시작하고 한 자릿수로 끝나는 모든 줄 (즉, 10 줄을 제외한 모든 줄)을 찾으려면 다음과 같이 표시됩니다. this : (그림 5 참조)
그림 5. 정규식을 사용하여 파일 검색.
우리는 파일 읽기에 대해 많이 이야기 했으므로 파일 쓰기에 대해 이야기하는 것으로 마무리해야합니다. 물론 익숙한 “>”
문자를 사용하여 출력을 파일로 리디렉션 할 수 있지만 PowerShell에서는 Out-File cmdlet을 사용하여 출력을 파일로 보낼 수도 있습니다.
시스템의 모든 활성 프로세스 목록을 얻고 싶다고 가정 해 보겠습니다. 이를위한 cmdlet은 Get-Process입니다. Get-Process의 출력 일부는 다음과 같습니다. (그림 6 참조)
그림 6. Get-Process의 부분 출력.
마지막에서 여덟 번째 줄은 잘립니다. 이 줄은 “vmware-usbarbitrat …”로 끝납니다. 이 출력을 파일로 간단히 보내면 파일에도이 잘린 줄이 포함됩니다. 대신 Out-File의 “-width”스위치를 사용하여 잘림을 방지하기 위해 더 큰 너비를 원함을 나타낼 수 있습니다. 다음은 프로세스를 가져오고 출력을 Out-File로 파이프하고 출력 너비를 지정하는 명령입니다.
PS C:\Bat> Get-Process | Out-File C:\Temp\Temp2.txt -width 100
이 팁 (13507)은 Windows 7, 8 및 10에 적용됩니다.