宇多田ヒカル 『Forevermore』(Short Version)
『ごめん、愛してる』(2017)
動画は主題歌の「Forevermore」(宇多田ヒカル)です。
最終回まで見たわけじゃないのに、CMの映像に宇多田ヒカルが流れただけで泣けてきます。
一話の韓国のシーンは良かったです。キンパ食べたくなりました。
マフィアにも切られ、母親からも切られている主人公、長瀬かっこいいです。
いろいろ切られてるということで、PowerShellでcutコマンドと似たようなことができないか確認してみます。
(本記事はPowerShell入門記事としてコチラにもまとめています。)
実験用のデータを生成します。タブ区切りフィールド3列、10レコードのデータです。
PS C:\Users\takk\aaa> $data=1..10 | %{"$_`t"+$(random)+"`tAAAA"}
PS C:\Users\takk\aaa> $data 1 1578837591 AAAA 2 222539531 AAAA 3 1974766125 AAAA 4 475015556 AAAA 5 647225503 AAAA 6 1860466963 AAAA 7 476117047 AAAA 8 1962103142 AAAA 9 1377184796 AAAA 10 1308106584 AAAA PS C:\Users\takk\aaa>
まずは、cut -f、タブ区切りのフィールド抽出から。
以下のようにSplitを使って、文字列を分割して使うだけです。
PS C:\Users\takk\aaa> $arr="aaa,bbb,ccc".Split(",") PS C:\Users\takk\aaa> $arr[1] bbb PS C:\Users\takk\aaa>
ではSplitを使って、実験データの1列目、3列目のみを抽出してみます。
PS C:\Users\takk\aaa> $data | %{$a,$b,$c=$_.Split("`t"); "$a`t$c"} 1 AAAA 2 AAAA 3 AAAA 4 AAAA 5 AAAA 6 AAAA 7 AAAA 8 AAAA 9 AAAA 10 AAAA PS C:\Users\takk\aaa>
2列目の乱数値の和を計算してみます。
PS C:\Users\takk\aaa> $data | %{$sum=0}{$a,$b,$c=$_.Split("`t");$sum=$sum+$b}{$sum} 11882362838 PS C:\Users\takk\aaa>
cut -bはバイト位置を指定して抽出ができますが、これをPowerShellで実現するためには、StringをChar[]でキャストすれば、配列で指定できるので扱いやすくなります。
PS C:\Users\takk\aaa> $arr="HELLO" PS C:\Users\takk\aaa> $c=[char[]]$arr PS C:\Users\takk\aaa> $c[2] L PS C:\Users\takk\aaa>
まあ、cut -bを使うときは、範囲で指定すると思いますから、Substring使った方が早そうです。
PS C:\Users\takk\aaa> $data | % {$_.substring(0,4)} 1 15 2 22 3 19 4 47 5 64 6 18 7 47 8 19 9 13 10 1 PS C:\Users\takk\aaa>
コメント