(本記事はPowerShell入門記事としてコチラにもまとめています。)
「PowerShell(乱数、コマンド置換)」の続きです。
PerlやAwkと同じようにブロックが指定できます。
起動時1回だけ実行するbeginブロック。標準入力の各行を処理するprocessブロック。最後に1回だけ実行するendブロックです。
使ってみましょう。
PS C:\Users\takk> function tohex(){ >> begin{$s=""} >> process{$s += "{0:X2} " -f $_} >> end{echo $s} >> } >> PS C:\Users\takk> 10,20,30,40,50 | tohex 0A 14 1E 28 32 PS C:\Users\takk>
次は、lsの結果を渡してみましょう。
PS C:\Users\takk\aaa> ls -n dir_11CFDF63 dir_2065207 dir_2EA62317 dir_3A7F5143 dir_46585CA dir_59E634FB dir_5D8B7032 dir_60682448 dir_6604792F dir_6A254AAD dir_7E2D24B5 PS C:\Users\takk\aaa>
18桁の右詰表示に加工する関数です。
PS C:\Users\takk\aaa> function print20(){ >> process{"|{0,18}|" -f $_} >> } >> PS C:\Users\takk\aaa> ls -n | print20 | dir_11CFDF63| | dir_2065207| | dir_2EA62317| | dir_3A7F5143| | dir_46585CA| | dir_59E634FB| | dir_5D8B7032| | dir_60682448| | dir_6604792F| | dir_6A254AAD| | dir_7E2D24B5| PS C:\Users\takk\aaa>
コメント