2014-04-25 2 views
-1

헤더없이 탭으로 구분 된 파일을 가져올 수 있습니다. 현재 헤더를 사용하는 쉼표로 구분 된 수입에 익숙하기 때문에이를 달성하기위한 최선의 방법을 찾고 있습니다. 가져올 파일의 이름은 datafile.out입니다.PowerShell 탭으로 구분 된 파일 내용 가져 오기

아래 내용을 시도했지만 행에서 하나의 값에 액세스 할 수 없습니다. $contents[3]; 이것은 네 번째 줄을 얻을 것입니다. 나는 각 탭 분리 한 후 값을 얻으려면 :

$contents = Add-Content $file -delimted "'t" 
+0

** - 구분 **은 ** 추가 콘텐츠 ** (** - 구분 ** 또는 ** - 구분 기호 **)의 유효한 매개 변수가 아니므로 작동하지 않을 수 있습니다. 좋은 습관, 특히 PowerShell을 처음 사용하는 경우 매개 변수 이름을 탭으로 완성하는 것이 좋습니다. 그렇게하면 존재하지 않는 것을 사용하려고 할 때 알 수 있습니다 ('Add-Content -Del' 을 입력하면 아무것도 얻지 못할 것입니다). –

+0

Add-Content를 사용하여 데이터를 가져 오는 아이디어는 Powershell의 일부 매우 기본적인 측면에 대한 오해와 도움을 요청하기 전에 cmdlet에 대한 기본 연구조차하지 못함을 나타냅니다. – mjolinor

답변

2

그것은 당신이 무엇을 요구 정말 분명하지 않다,하지만 당신은, 당신을 헤더 행이없는 탭으로 구분 된 파일을 가져 오려는 경우 이런 식으로 그것을 할 수 :

$contents = Import-Csv SomeFile.txt -Delimiter "`t" -Header ColumnName1,ColumnName2,ColumnName3 

변경 필요에 따라 -Header 스위치의 열 이름.

+0

답변 해 주셔서 감사합니다. -Header 태그의 경우 헤더가 나열되어 있지 않으므로 어떻게 탭 구분 열 번호를 얻을 수 있습니까? 그래서 나는 오른쪽에 보이는 것처럼 이름 'John'을 얻고 싶다고 말합니다. 헤더가 없습니다. Row1start : Jsmith 1253637 John Smith – user3175140

+0

@ user3175140, 당신은 단지 열 이름을 구성합니다. 귀하의 회선이 ** 1253637 John Smith ** 인 경우 다음과 같은 헤더를 지정할 수 있습니다. ** - 헤더 ID, 이름, 성 **. 그 이름을 사용할 필요는 없습니다. ** FirstName ** 대신 ** GivenName **을 사용할 수 있습니다. 합리적인 것을 사용하십시오. –

+0

탭으로 구분 된 파일은 하루 중 특정 시간에 시스템에서 자동으로 추출됩니다. 압축을 푼 파일에 헤더가 없으므로 열 머리글이 아닌 열/탭 구분 ID 번호를 참조 할 수있는 방법이 있습니다. – user3175140

관련 문제