Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Post History

42%
+1 −2
Q&A How can I write an egrep (grep -E) regexp that matches lines containing two stanzas in arbitrary order?

I think such Regexp is way too much and would probably lead to future confusion. If you are using some kind of Bash, what about using the fact that the file can be sourced and use its assignations...

posted 4y ago by fedorqui‭

Answer
#1: Initial revision by user avatar fedorqui‭ · 2020-11-30T12:16:04Z (almost 4 years ago)
I think such Regexp is way too much and would probably lead to future confusion.

If you are using some kind of Bash, what about using the fact that the file can be sourced and use its assignations?

So if you have a file with this content:

```
x1=y2
```

And you source it (`. file` or `source file`), then you have the variable `$x1` ready for use.

With that in mind, we can do:

```
( source file; [ "$x1" = "y2" ] && [ "$c5" = "d6" ] && echo "yes" || echo "no" )
```

This sources the file and then checks if the values of vars `$x1` and `$c5` are the ones we want. If so, it prints a plain "yes"; otherwise, a "no".