今回はAWKの特徴であるパターンとアクションの組み合わせについて、PowerShellだとどうなるのかということと比較して説明しています。
AWKではテキスト編集に特化されているので非常に短く直感的に操作することができます。一方でPowerShellではオブジェクトが前提となるので若干面倒な書き方になることがおわかりかと思います。
今回はAWKは短いのですがPowerShellではちょっと長いスクリプトになりましたのでコードも再掲しておきます。
AWK
awk 'NR <= 3' aaa.txt
awk 'NR%3 == 0' aaa.txt
awk '$3 > 100' aaa.txtawk '/売掛/' aaa.txt
awk '/^;/' aaa.txt
PowerShell
cat -Head 3 .\aaa.txt -Encoding UTF8
$i = 1; cat .\aaa.txt -Encoding utf8 | ForEach-Object { if(($i%3) -eq 0){$_}; $i++ }
Import-Csv .\aaa.txt | Where-Object { [Convert]::ToDecimal($_.売上) -gt 100 }(cat .\aaa.txt -Encoding UTF8) -match "売掛"
(cat .\aaa.txt -Encoding UTF8) -match "^;"
0コメント