PowerShell에서 목록에서 항목을 제거하는 방법

2024-04-02

PowerShell에서 목록에서 항목을 제거하는 방법

Remove-Item cmdlet은 목록에서 항목을 제거하는 데 사용되는 기본 cmdlet입니다. 다음과 같이 사용할 수 있습니다.

# 목록 생성
$list = @('item1', 'item2', 'item3', 'item4', 'item5')

# 'item3' 제거
Remove-Item $list -Value 'item3'

# 결과 확인
$list

# 출력:
# item1
# item2
# item4
# item5

Where-Object cmdlet은 특정 조건을 충족하는 항목을 필터링하는 데 사용할 수 있습니다. 다음과 같이 사용하여 제거할 항목을 제외한 새로운 목록을 만들 수 있습니다.

# 목록 생성
$list = @('item1', 'item2', 'item3', 'item4', 'item5')

# 'item3' 제외한 새 목록 만들기
$newList = $list | Where-Object { $_ -ne 'item3' }

# 결과 확인
$newList

# 출력:
# item1
# item2
# item4
# item5

배열 인덱싱 사용

PowerShell 배열은 0부터 시작하는 인덱스를 사용하여 항목에 접근할 수 있습니다. 다음과 같이 인덱스를 사용하여 항목을 제거할 수 있습니다.

# 목록 생성
$list = @('item1', 'item2', 'item3', 'item4', 'item5')

# 'item3' 제거
$list.RemoveAt(2)

# 결과 확인
$list

# 출력:
# item1
# item2
# item4
# item5

ForEach 루프를 사용하여 목록을 순회하고 제거할 항목을 찾을 수 있습니다. 다음과 같이 사용할 수 있습니다.

# 목록 생성
$list = @('item1', 'item2', 'item3', 'item4', 'item5')

# 'item3' 제거
$i = 0
ForEach ($item in $list) {
    if ($item -eq 'item3') {
        $list.RemoveAt($i)
        break
    }
    $i++
}

# 결과 확인
$list

# 출력:
# item1
# item2
# item4
# item5

Split 및 Join cmdlet 사용

문자열 목록을 처리하는 경우 SplitJoin cmdlet을 사용하여 항목을 제거할 수 있습니다. 다음과 같이 사용할 수 있습니다.

# 목록 문자열 생성
$list = 'item1,item2,item3,item4,item5'

# 'item3' 제거
$newList = $list.Split(',') | Where-Object { $_ -ne 'item3' } | Join-String(',')

# 결과 확인
$newList

# 출력:
# item1,item2,item4,item5

위의 방법 중 상황에 맞는 방법을 선택하여 사용하면 됩니다.

참고:

  • PowerShell에서 목록은 배열로 표현됩니다.
  • 더 복잡한 조건으로 항목을 제거해야 하는 경우 Where-Object cmdlet의 ScriptBlock을 사용할 수 있습니다.
  • Remove-Item cmdlet은 목록뿐만 아니라 해시 테이블, 컬렉션 등 다른 자료구조에서도 항목을 제거하는 데 사용할 수 있습니다.



예제 코드: PowerShell에서 목록에서 항목을 제거하는 방법

Remove-Item cmdlet 사용

# 목록 생성
$list = @('item1', 'item2', 'item3', 'item4', 'item5')

# 'item3' 제거
Remove-Item $list -Value 'item3'

# 결과 확인
$list

# 출력:
# item1
# item2
# item4
# item5

Where-Object cmdlet 사용

# 목록 생성
$list = @('item1', 'item2', 'item3', 'item4', 'item5')

# 'item3' 제외한 새 목록 만들기
$newList = $list | Where-Object { $_ -ne 'item3' }

# 결과 확인
$newList

# 출력:
# item1
# item2
# item4
# item5

배열 인덱싱 사용

# 목록 생성
$list = @('item1', 'item2', 'item3', 'item4', 'item5')

# 'item3' 제거
$list.RemoveAt(2)

# 결과 확인
$list

# 출력:
# item1
# item2
# item4
# item5

ForEach 루프 사용

# 목록 생성
$list = @('item1', 'item2', 'item3', 'item4', 'item5')

# 'item3' 제거
$i = 0
ForEach ($item in $list) {
    if ($item -eq 'item3') {
        $list.RemoveAt($i)
        break
    }
    $i++
}

# 결과 확인
$list

# 출력:
# item1
# item2
# item4
# item5

Split 및 Join cmdlet 사용

# 목록 문자열 생성
$list = 'item1,item2,item3,item4,item5'

# 'item3' 제거
$newList = $list.Split(',') | Where-Object { $_ -ne 'item3' } | Join-String(',')

# 결과 확인
$newList

# 출력:
# item1,item2,item4,item5



PowerShell에서 목록에서 항목을 제거하는 대체 방법

-= 연산자를 사용하여 목록에서 항목을 제거할 수 있습니다. 다음과 같이 사용할 수 있습니다.

# 목록 생성
$list = @('item1', 'item2', 'item3', 'item4', 'item5')

# 'item3' 제거
$list -= 'item3'

# 결과 확인
$list

# 출력:
# item1
# item2
# item4
# item5

[System.Collections.ArrayList] 클래스 사용

.NET Framework의 [System.Collections.ArrayList] 클래스를 사용하여 목록에서 항목을 제거할 수 있습니다. 다음과 같이 사용할 수 있습니다.

# 목록 생성
$list = [System.Collections.ArrayList]::new()
$list.Add('item1')
$list.Add('item2')
$list.Add('item3')
$list.Add('item4')
$list.Add('item5')

# 'item3' 제거
$list.Remove('item3')

# 결과 확인
$list

# 출력:
# item1
# item2
# item4
# item5
# 목록 생성
$list = [System.Collections.Generic.List[string]]::new()
$list.Add('item1')
$list.Add('item2')
$list.Add('item3')
$list.Add('item4')
$list.Add('item5')

# 'item3' 제거
$list.Remove('item3')

# 결과 확인
$list

# 출력:
# item1
# item2
# item4
# item5

LINQ (Language Integrated Query)를 사용하여 목록에서 항목을 제거할 수 있습니다. 다음과 같이 사용할 수 있습니다.

# 목록 생성
$list = @('item1', 'item2', 'item3', 'item4', 'item5')

# 'item3' 제거
$newList = $list | Where-Object { $_ -ne 'item3' }

# 결과 확인
$newList

# 출력:
# item1
# item2
# item4
# item5

위의 대체 방법 중 상황에 맞는 방법을 선택하여 사용하십시오.

참고

  • PowerShell에서 목록은 배열로 표현됩니다.
  • 더 복잡한 조건으로 항목을 제거해야 하는 경우 Where-Object cmdlet의 ScriptBlock을 사용할 수 있습니다.
  • Remove-Item cmdlet은 목록뿐만 아니라 해시 테이블, 컬렉션 등 다른 자료구조에서도 항목을 제거하는 데 사용할 수 있습니다.

powershell


PowerShell 스크립트 실행 방법: 기본 및 고급 방법

PowerShell 콘솔은 스크립트를 실행하는 가장 기본적인 방법입니다. PowerShell 콘솔을 엽니다. 다음과 같이 스크립트 파일의 전체 경로를 입력하여 스크립트를 실행할 수 있습니다.현재 디렉터리에 있는 스크립트를 실행하려면 다음과 같이 입력합니다...


PowerShell 오류 해결: '스크립트 실행이 이 시스템에서 비활성화되었습니다.' (Windows Server 2008 R2)

Windows Server 2008 R2에서 "스크립트 실행이 이 시스템에서 비활성화되었습니다. " 오류 메시지가 나타나는 경우 시스템의 PowerShell 실행 정책이 "제한됨"으로 설정되어 있기 때문입니다. 이 정책은 악의적인 스크립트로부터 시스템을 보호하기 위해 기본적으로 설정됩니다...


iptables 및 firewalld를 사용한 포트 차단

방화벽 사용:iptables: iptables는 리눅스 시스템에서 가장 많이 사용되는 방화벽 도구입니다. 다음 명령을 사용하여 특정 포트를 차단할 수 있습니다.위 명령은 TCP 포트 포트번호를 차단합니다. UDP 포트를 차단하려면 -p udp를 사용하십시오...


PowerShell을 사용하여 숫자와 문자가 혼합된 연령 범위 배열을 정렬하는 방법: 세 가지 해결 방법 비교

해시 테이블 사용:이 방법은 각 연령 범위를 나타내는 해시 테이블을 만들고 해당 해시 테이블을 Sort-Object cmdlet을 사용하여 정렬하는 것입니다. 다음은 예제입니다.이 스크립트는 다음과 같은 출력을 생성합니다...


powershell