前提・実現したいこと
LinuxシェルスクリプトのCutコマンドに相当する処理をPowerShell上で実現しようとしてつまづいています。
Powershell ↔ シェルスクリプトの変換は様々に試され解決法が出ており、任意の1列だけの切り出しについては情報がありましたが、範囲列指定での切り出しについては再現方法が見つかりません。
想定例としては以下の、csvファイルの1~1000列を切り出すcutコマンドです。
data.csvはヘッダーなしの16000×10000データ程度のcsvファイルです。
LinuxShell
1 2$ cut -f 1-1000 ーd "," data.csv
発生している問題・エラーメッセージ
PowerShell上では、csvファイルの範囲切り出しをcutコマンドと同様の1行コマンドで完了することは困難と判断して、Import-CSVコマンドでファイル内容をPSCustomObject化し、のちに列範囲指定でExport-CSVから出力しようとしました。
しかし、範囲演算子を用いた範囲列指定がうまくいきません。
該当のソースコード
PowerShell
1 2$file = import-CSV .\data.csv -Header @(0..16000) 3$file.@(0..999) | Export-CSV -NoTypeInformation data2.csv -Encoding UTF8 4
試したこと
PowerShell
1 2#案1 3$file | Select-Object "0".."999" | Export-CSV -NoTypeInformation data2.csv -Encoding UTF8 4#"0".."999"の範囲指定でエラー 5 6#案2 7$file | Select-Object @("0".."999") | Export-CSV -NoTypeInformation data2.csv -Encoding UTF8 8#@("0".."999")の範囲指定でエラー 9
補足情報(FW/ツールのバージョンなど)
PowerShell 5.1.18362.1171
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。