From 26d3949bd82d9788fc786fbd911f909b36a1c70d Mon Sep 17 00:00:00 2001 From: Xiao Pan Date: Sun, 28 Apr 2024 14:27:24 -0700 Subject: update --- sh/snippets | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'sh/snippets') diff --git a/sh/snippets b/sh/snippets index efbbd1e..4c96704 100644 --- a/sh/snippets +++ b/sh/snippets @@ -59,3 +59,10 @@ find "$HOME/archive/music" -type f -name '*.wav' -execdir sh -c ' ffmpeg -i "$i" "$i.flac" && rm "$i" done ' sh '{}' \+ + +# need to pass password through pipe to not show in ps +# another way is use `grep -f-` to read pattern from stdin, but it is hard to specify filenames with spaces that way, `grep ... $(find ... | printf %q ...)` somehow thinks 'a b' as two files 'a and b', e.g., This DOES NOT WORK: `pass albiononline.com | { IFS= read -r p; printf '%s' "$p";} | grep --color=auto -IR -f- $(find . -type d \( -iname '*sandbox*interactive*' -o -iname '*albion*' \) -print0 | xargs -0 printf '%q ')`, not sure why +{ + pass albiononline.com | { IFS= read -r p; printf '%s\0' "$p";} + find . -type d \( -iname '*sandbox*interactive*' -o -iname '*albion*' \) -print0 +} | xargs -0 grep --color=auto -IR -- cgit 1.4.1