アニメ『ようこそ実力至上主義の教室へ』
勉強させてもらう上に、毎月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>
コメント