How to use grep
The string "[TEST-4902]: This is a long placeholder string"
command
gh pr view 1 --repo joe/test-gh-cli --json body --jq .body | grep -v "TEST-[0-9]{3,4}"
Result
[TEST-4902]: This is a long placeholder string
how to return only "This is a long placeholder string"
expected output
This is a long placeholder string
CodePudding user response:
You are using extended functionality ERE
in a BRE
grep
so there is no match hence, your original line is returned.
If the -E
flag is added in conjunction with your -v
flag, then nothing will be printed as the match is now made so the line is ignored (not the part that is matched).
Using grep
with perl
style regex will do what you are looking for;
$ grep -Po 'TEST-[0-9]{3,4}]: \K.*' input_file
This is a long placeholder string
CodePudding user response:
According to https://cli.github.com/manual/gh_pr_view, the --jq
option for that gh pr view
command accepts a jq
expression (see man jq
or https://stedolan.github.io/jq/manual/). A non-grep
solution may be to build on your --jq .body
, using sub()
for example:
gh ... --jq '.body | sub("^\\[TEST-\\d{3,4}\\]:\\s*"; "")'