Earlier quoted context omitted.
Most of those features are in PowerShell, especially version 7. It uses strict ('reliable') argument passing, strong typing, etc.. It has a bazillion independent streams such as "Debug", "Verbose", "Warning", "Error", "Progress", "Output", "Information", etc... It has "foreach -parallel", which is a fun way to make the CPU fan spin up. > "Recurse through this directory, while ignoring .git and vim backup files". Read…
> it's more unix than unix. Would you please elaborate what exactly do you mean by this?
C:\Windows> Get-AuthenticodeSignature .\explorer.exe
Directory: C:\Windows
SignerCertificate Status StatusMessage Path
----------------- ------ ------------- ----
BBD2C438000344F439BFDFE5ABAC3223357CD67F Valid Signature verified. explorer.exe
C:\Windows> (Get-AuthenticodeSignature .\explorer.exe).SignerCertificate
Thumbprint Subject EnhancedKeyUsageList
---------- ------- --------------------
BBD2C438000344F439BFDFE5ABAC3223357CD67F CN=Microsoft Window… {Windows System Component Verification, Code Signing}
C:\Windows> (Get-AuthenticodeSignature .\explorer.exe).SignerCertificate.Subject
CN=Microsoft Windows, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
C:\Windows>
This of course works with pipes: C:\Windows> Get-ChildItem . | Where-Object { $_.Length -gt 1000000 } | Sort-Object Length
Directory: C:\Windows
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 8/11/2021 1:56 AM 1075712 HelpPane.exe
-a--- 1/15/2018 12:40 PM 2856800 RtlExUpd.dll
-a--- 4/25/2022 1:17 PM 5122632 explorer.exe
Isn't that awesome?One of the nice things about it is that you can add stuff easily. You don't have to worry that every script that parses the output of your command will now break because you added an extra column or added extra functionality.