I'm trying to create a bash function that will use less
to apply a pattern and follow the file using the argument passed to the function
my_less_function() {
if [ -z "$1" ]
then
# if no arg
less +F /var/log/my.log
else
# else, filter out the arg
less +$'&!'$1'
F' /var/log/my.log
fi
}
my issue is that i can't get the arg to substitute properly in the else block
my_less_function MY_VALUE
displays Non-match &/MY_VALUE
F
in less
it looks like it's concatenating the argument and
F
, but
F
is supposed to trigger the follow command instead of being interpreted as part of the argument
any ideas?
question from:
https://stackoverflow.com/questions/65928585/less-filter-out-pattern-passed-as-command-line-argument-follow-file-via-bash 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…