Ubuntu 22.04 LTS へは、Microsoft の Webサイト記事先頭にある sh コマンド群(sudo apt-get updateからはじまる)をそのまま流せばインストールでき、実行開始できます。
Windows 版の PowerShell では、実行ポリシーを設定する必要がありました。セキュリティの関係でスクリプトファイルの実行がデフォルト(初期状態)では許可されていないためです。
Linux 版では特に制限がなされていませんでした(Unrestricted)。
Get-ExecutionPolicy
次回からは、Terminal で pwsh と叩くだけです。
pwsh
こちらの記事で作成したスクリプトを Ubuntu 上で実行してみたのですが、Sort のところでエラーが発生しました。Sort-Object に書き換えることで動作するようになったので、修正版を書いておきます。
$rows = Import-Csv ".\【年別】総人口(総数)_me-el.csv" -Encoding UTF8
$prefs = @{}
foreach ($row in $rows) {
$year = $row."年"
$row | Get-Member | ? { $_.MemberType -eq "NoteProperty" } | % {
$key = $_.Name
if ($key -ne "年") {
$val = $row."$key"
$p = $null
if (!$prefs.ContainsKey($key)) {
$p = [PSCustomObject]@{
pref = $key;
maxValue = [long]0;
maxYear = "";
lastValue = [long]0;
lastYear = "";
ratio = 0;
}
$prefs[$key] = $p
} else {
$p = $prefs[$key]
}
if ($p.maxValue -lt [long]$val) {
$p.maxValue = [long]$val
$p.maxYear = $year
}
# 最終の人口と最終年
$p.lastValue = [long]$val
$p.lastYear = $year
}
}
}
$prefs.Values | % {
$_.ratio = [Math]::Round($_.lastValue * 100 / $_.maxValue, 2).ToString("000.00")
}
$prefs.Values | Select ratio, maxYear, maxValue, lastYear, lastValue, pref | Sort-Object ratio -Descending | `
Export-Csv ".\result.txt" -Delimiter "`t" -Encoding UTF8 -NoTypeInformation