Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
307 views
in Technique[技术] by (71.8m points)

shell - less: filter out pattern passed as command line argument + follow file via bash function

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...