File Selection CLI
Revisiting BASH
> grep -c '.*' -- $(fd -e ps1 -e txt -d 1) # ext:ps1,txt depth: 1
# using long-names
> fd --extension ps1 --extension txt --max-depth 1
# 1] highlight matches in red
# 2] preserves all lines
> history | grep --perl-regex --ignore-case --color=always 'less|$'
# 3] add paging
> history | grep --perl-regex --ignore-case --color=always 'less|$' | less --raw-control-chars
# 4] View a log
> less someLog
# 5 start on the last line of a log
> less +G someLog
Detect Valid Values for gh
--json
— then Fzf filter them
$allProperties ??= _enumerateGhProperty
$selectedProps = $allProperties
| Out-Fzf -MultiSelect -Layout reverse -Height 100
Invoke-GhRepoList -prop $selectedProps
PowerApps: Visualize filter in Queries
Is there a way to add columns Programically to many queries?
Labeled Summary of all queries
let
Source = Record.RemoveFields(
#sections[Section1],
"AllQueries", MissingField.Error
),
Summary = Record.ToTable( Source ),
OnlyTables = Table.SelectRows(
Summary, each Value.Is( [Value], Table.Type )
),
#"Add Query Id" = Table.AddIndexColumn(OnlyTables, "Query Id", 0, 1, Int64.Type)
in
#"Add Query Id"
VS
Code Syntax Highlighting
when $null + 3 + 3 = 12
{ "editor.tokenColorCustomizations": {
"textMateRules": [
{
"name": "test1",
"scope": "keyword.operator.assignment.powershell",
"settings": {
"foreground": "#be85c5",
"foreground": "#be85c500",
"fontStyle": "underline"
}
}
],
}}
Random Power Query
Power Query Sugar for selecting distinct filters. If the condition is not true, then it throws an error. Name = "Orders"
works because it results in a distinct value from the column Name
It’s valid even though the final query is many records. It’s the “distinctness” of the filter that is required to be true
Source{ [Name = "Orders", Signature = "table"] }
Random Powershell
Random VS Code
Random CSS / Web
CSS Column Selectors to modify an existing table
Refactoring Others Code
https://gist.github.com/ninmonkey/8eb3805012660fc3f0fce86f137fb940
Bash Examples
# session
## counting
| wc --lines
| wc --bytes
# hide long results
| tail -n 10
| head -n 10
| tail --lines=100
| tail --bytes=2MB
# or instead don't print to console
# allow colors, but no other ANSI codes
| tail -R
# file listings safer to use
# `ls` output is bad / breakable
find . -iname 'foo*'
find . -iname '*.py'
# as 1 call ?
find . -iname '*.py' -exec stat {} \;
# as many ?
find . -iname '*.py' -exec stat {} +
# require pattern
| grep -i 'required pattern'
# invert matches
| grep -iv 'not pattern'
# or xargs and with args that have whitespace
# and/or exec
# output to file (truncate)
foo > bar.log
# append to file
foo >> bar.log
# hide errors
VERIFY
> someCommand &2>/dev/null
history | grep 'find'
# view in pager, or just a few results
# too big of file
grep 'error' apache.log | less +G
grep 'error' apache.log | tail | less
grep 'error' apache.log > apache_errors.log
tail apache.log --lines=100 | less +G
tail apache.log --lines=100 > apache_mini.log