アニメ『ようこそ実力至上主義の教室へ』
勉強させてもらう上に、毎月10万円もらえるんですか、いい学校ですね。しかし世の中そんなに甘くない。
(本記事はPowerShell入門記事としてコチラにもまとめています。)
wcの-Lオプションで、ファイル中の最大桁数を求めることができますが、PowerShellでもやってみます。
実験用としてランダムな桁数のファイルを生成してみます。PowerShellでは文字列 * 数字で、繰り返し文字列が生成されるので、これを利用します。
PS C:\Users\takk\aaa> "A"*10 AAAAAAAAAA PS C:\Users\takk\aaa>
function test($fname){
1..10 | %{
$r=$(random) % 50
$s = "+"*$r
$s >> $fname
}
}
PS C:\Users\takk\aaa> 1..10 | %{ test "file$_.txt"}
実験用ファイルが10個できました。
PS C:\Users\takk\aaa> ls -name file1.txt file10.txt file2.txt file3.txt file4.txt file5.txt file6.txt file7.txt file8.txt file9.txt PS C:\Users\takk\aaa>
中身を確認してみましょう。
PS C:\Users\takk\aaa> gc file1.txt +++ ++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++ +++++++++++++ +++++++++++++++++++++ + ++++++++++++++++++++++++++++++++++++++++ PS C:\Users\takk\aaa>
では最大桁数を求める関数を作ってみます。
function wc-L($fname){
$colmax = 0
gc $fname | %{
$col = $_.Length
if($colmax -lt $col){
$colmax = $col
}
}
$colmax
}
全ファイルをwc-Lにかければ、各ファイルの最大桁数が求められます。
PS C:\Users\takk\aaa> gci -name | % { "$_ "+$(wc-L $_) }
file1.txt 48
file10.txt 47
file2.txt 40
file3.txt 39
file4.txt 47
file5.txt 42
file6.txt 48
file7.txt 49
file8.txt 43
file9.txt 42
PS C:\Users\takk\aaa>


コメント