Course 102: Lecture 10: Learning About the Shell Ahmed El-Arabawy
This lecture Introduces the shell program, its role, its functionality , and the categories of commands to run on it. It also discusses the different scripts executed at shell startup
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
Course 102: Lecture 10: Learning About the Shell Ahmed El-Arabawy
This lecture Introduces the shell program, its role, its functionality , and the categories of commands to run on it. It also discusses the different scripts executed at shell startup
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
Computers are connected in a network to exchange information or resources with each other. Two or more computer are connected through network media called computer media.
There are a number of network devices or media that are involved to form computer network.
Computer loaded with Linux Operation System can also be a part of network whether it is a small or large network by multitasking and multi user natures.
Maintaining of system and network up and running is a task of System / Network Administrator’s job. In this article we are going to review frequently used network configuration and troubleshoot commands in Linux.
Kernel Recipes 2017: Using Linux perf at NetflixBrendan Gregg
Talk for Kernel Recipes 2017 by Brendan Gregg. "Linux perf is a crucial performance analysis tool at Netflix, and is used by a self-service GUI for generating CPU flame graphs and other reports. This sounds like an easy task, however, getting perf to work properly in VM guests running Java, Node.js, containers, and other software, has been at times a challenge. This talk summarizes Linux perf, how we use it at Netflix, the various gotchas we have encountered, and a summary of advanced features."
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...Edureka!
This Linux Tutorial will help you get started with Linux Administration. This Linux tutorial will also give you an introduction to the basic Linux commands so that you can start using the Linux CLI. Do watch the video till the very end to see all the demonstration. Below are the topics covered in this tutorial:
1) Why go for Linux?
2) Various distributions of Linux
3) Basic Linux commands: ls, cd, pwd, clear commands
4) Working with files & directories: cat, vi, gedit, mkdir, rmdir, rm commands
5) Managing file Permissions: chmod, chgrp, chown commands
6) Updating software packages from Linux repository
7) Compressing & Decompressing files using TAR command
8) Environment variables and Regular expressions
9) Starting and killing processes
10) Managing users
11) SSH protocol for accessing remote hosts
Unix , Linux Commands
Unix, which is not an acronym, was developed by some of the members of the Multics team at the bell labs starting in the late 1960's by many of the same people who helped create the C programming language.
Course 102: Lecture 24: Archiving and Compression of Files Ahmed El-Arabawy
This lecture discusses the different commands and utilities used for archiving and compression of files and directories in Linux
Video for this lecture on youtube:
http://www.youtube.com/watch?v=R6ZQ6PJyy28
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
Ahmed ElArabawy
- https://www.linkedin.com/in/ahmedelarabawy
This lecture discusses the concept of Regular Expressions along with its usage in different tools such as grep, sed, and awk
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
Computers are connected in a network to exchange information or resources with each other. Two or more computer are connected through network media called computer media.
There are a number of network devices or media that are involved to form computer network.
Computer loaded with Linux Operation System can also be a part of network whether it is a small or large network by multitasking and multi user natures.
Maintaining of system and network up and running is a task of System / Network Administrator’s job. In this article we are going to review frequently used network configuration and troubleshoot commands in Linux.
Kernel Recipes 2017: Using Linux perf at NetflixBrendan Gregg
Talk for Kernel Recipes 2017 by Brendan Gregg. "Linux perf is a crucial performance analysis tool at Netflix, and is used by a self-service GUI for generating CPU flame graphs and other reports. This sounds like an easy task, however, getting perf to work properly in VM guests running Java, Node.js, containers, and other software, has been at times a challenge. This talk summarizes Linux perf, how we use it at Netflix, the various gotchas we have encountered, and a summary of advanced features."
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...Edureka!
This Linux Tutorial will help you get started with Linux Administration. This Linux tutorial will also give you an introduction to the basic Linux commands so that you can start using the Linux CLI. Do watch the video till the very end to see all the demonstration. Below are the topics covered in this tutorial:
1) Why go for Linux?
2) Various distributions of Linux
3) Basic Linux commands: ls, cd, pwd, clear commands
4) Working with files & directories: cat, vi, gedit, mkdir, rmdir, rm commands
5) Managing file Permissions: chmod, chgrp, chown commands
6) Updating software packages from Linux repository
7) Compressing & Decompressing files using TAR command
8) Environment variables and Regular expressions
9) Starting and killing processes
10) Managing users
11) SSH protocol for accessing remote hosts
Unix , Linux Commands
Unix, which is not an acronym, was developed by some of the members of the Multics team at the bell labs starting in the late 1960's by many of the same people who helped create the C programming language.
Course 102: Lecture 24: Archiving and Compression of Files Ahmed El-Arabawy
This lecture discusses the different commands and utilities used for archiving and compression of files and directories in Linux
Video for this lecture on youtube:
http://www.youtube.com/watch?v=R6ZQ6PJyy28
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
Ahmed ElArabawy
- https://www.linkedin.com/in/ahmedelarabawy
This lecture discusses the concept of Regular Expressions along with its usage in different tools such as grep, sed, and awk
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
This course provides you with skills to
* Develop sed and awk scripts
* Use sed and awk to automate common tasks
* Use sed and awk to create formatted reports
Prerequisites
* Basic understanding of UNIX / Linux Operating System
* Knowledge of basic UNIX / Linux commands
Intended Audience
* System Administrators, Testing Professionals, and Software Developers working in the UNIX / Linux environment
This is the first book I have written. It's called Awk One-Liners Explained and it teaches the awk utility through 70 well-explained examples, such as numbering lines in a file, printing certain lines, deleting certain lines, counting words and lines, and others. Get your book copy at: www.catonmat.net/blog/awk-book/
Regular Expressions: every developer's best friend and worst nightmare! Join Andrei Zmievski, PHP developer and author of the PHP Regex (PCRE) extension, on a journey that will take you from your first steps into the world of regular expressions to the mastery of this most useful of tools. A must for everyone who's ever wondered what /(?=\d+)bar/ means.
This is the ninth set of slightly updated slides from a Perl programming course that I held some years ago.
I want to share it with everyone looking for intransitive Perl-knowledge.
A table of content for all presentations can be found at i-can.eu.
The source code for the examples and the presentations in ODP format are on https://github.com/kberov/PerlProgrammingCourse
Don't Fear the Regex - CapitalCamp/GovDays 2014Sandy Smith
Have you been scared off by Klingon-looking one-liners in Perl? Do you resort to writing complicated recursive functions just to parse some HTML? Don't!
I'll demystify regular expressions and show you how best to do them in PHP. We'll cover the syntax and functions that make PHP a great text-parsing language, and give you the foundation to learn more.
As a bonus, I'll give you two cases people often use as examples for regexes that PHP gives you better native ways to accomplish.
Given at CapitalCamp & GovDays 2014
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
3. Subtleties of commands
• Executing commands with find
• Specification of columns in cut
• Specification of columns in sort
• Methods of input
– Standard in
– File name arguments
– Special "-" filename
• Options for uniq
4. Today
• Regular Expressions
– Allow you to search for text in files
– grep command
• Stream manipulation:
– sed
6. What Is a Regular Expression?
• A regular expression (regex) describes a set of
possible input strings.
• Regular expressions descend from a fundamental
concept in Computer Science called finite
automata theory
• Regular expressions are endemic to Unix
– vi, ed, sed, and emacs
– awk, tcl, perl and Python
– grep, egrep, fgrep
– compilers
7. Regular Expressions
• The simplest regular expressions are a
string of literal characters to match.
• The string matches the regular expression if
it contains the substring.
8. regular expression c k s
UNIX Tools rocks.
match
UNIX Tools sucks.
match
UNIX Tools is okay.
no match
9. Regular Expressions
• A regular expression can match a string in
more than one place.
regular expression a p p l e
Scrapple from the apple.
match 1 match 2
10. Regular Expressions
• The . regular expression can be used to
match any character.
regular expression o .
For me to poop on.
match 1 match 2
11. Character Classes
• Character classes [] can be used to match
any specific set of characters.
regular expression b [eor] a t
beat a brat on a boat
match 1 match 2 match 3
12. Negated Character Classes
• Character classes can be negated with the
[^] syntax.
regular expression b [^eo] a t
beat a brat on a boat
match
13. More About Character Classes
– [aeiou] will match any of the characters a, e, i, o,
or u
– [kK]orn will match korn or Korn
• Ranges can also be specified in character classes
– [1-9] is the same as [123456789]
– [abcde] is equivalent to [a-e]
– You can also combine multiple ranges
• [abcde123456789] is equivalent to [a-e1-9]
– Note that the - character has a special meaning in a
character class but only if it is used within a range,
[-123] would match the characters -, 1, 2, or 3
14. Named Character Classes
• Commonly used character classes can be
referred to by name (alpha, lower, upper,
alnum, digit, punct, cntrl)
• Syntax [:name:]
– [a-zA-Z] [[:alpha:]]
– [a-zA-Z0-9] [[:alnum:]]
– [45a-z] [45[:lower:]]
• Important for portability across languages
15. Anchors
• Anchors are used to match at the beginning or end
of a line (or both).
• ^ means beginning of the line
• $ means end of the line
16. regular expression ^ b [eor] a t
beat a brat on a boat
match
regular expression b [eor] a t $
beat a brat on a boat
match
^word$ ^$
17. Repetition
• The * is used to define zero or more
occurrences of the single regular expression
preceding it.
18. regular expression y a * y
I got mail, yaaaaaaaaaay!
match
regular expression o a * o
For me to poop on.
match
.*
19. Match length
• A match will be the longest string that
satisfies the regular expression.
regular expression a . * e
Scrapple from the apple.
no no yes
20. Repetition Ranges
• Ranges can also be specified
– { } notation can specify a range of repetitions
for the immediately preceding regex
– {n} means exactly n occurrences
– {n,} means at least n occurrences
– {n,m} means at least n occurrences but no
more than m occurrences
• Example:
– .{0,} same as .*
– a{2,} same as aaa*
21. Subexpressions
• If you want to group part of an expression so that
* or { } applies to more than just the previous
character, use ( ) notation
• Subexpresssions are treated like a single character
– a* matches 0 or more occurrences of a
– abc* matches ab, abc, abcc, abccc, …
– (abc)* matches abc, abcabc, abcabcabc, …
– (abc){2,3} matches abcabc or abcabcabc
22. grep
• grep comes from the ed (Unix text editor) search
command “global regular expression print” or
g/re/p
• This was such a useful command that it was
written as a standalone utility
• There are two other variants, egrep and fgrep that
comprise the grep family
• grep is the answer to the moments where you
know you want the file that contains a specific
phrase but you can’t remember its name
23. Family Differences
• grep - uses regular expressions for pattern
matching
• fgrep - file grep, does not use regular expressions,
only matches fixed strings but can get search
strings from a file
• egrep - extended grep, uses a more powerful set of
regular expressions but does not support
backreferencing, generally the fastest member of
the grep family
• agrep – approximate grep; not standard
24. Syntax
• Regular expression concepts we have seen so
far are common to grep and egrep.
• grep and egrep have slightly different syntax
– grep: BREs
– egrep: EREs (enhanced features we will discuss)
• Major syntax differences:
– grep: ( and ), { and }
– egrep: ( and ), { and }
25. Protecting Regex
Metacharacters
• Since many of the special characters used in
regexs also have special meaning to the
shell, it’s a good idea to get in the habit of
single quoting your regexs
– This will protect any special characters from
being operated on by the shell
– If you habitually do it, you won’t have to worry
about when it is necessary
26. Escaping Special Characters
• Even though we are single quoting our regexs so the
shell won’t interpret the special characters, some
characters are special to grep (eg * and .)
• To get literal characters, we escape the character with
a (backslash)
• Suppose we want to search for the character sequence
a*b*
– Unless we do something special, this will match zero or
more ‘a’s followed by zero or more ‘b’s, not what we want
– a*b* will fix this - now the asterisks are treated as
regular characters
27. Egrep: Alternation
• Regex also provides an alternation character | for
matching one or another subexpression
– (T|Fl)an will match ‘Tan’ or ‘Flan’
– ^(From|Subject): will match the From and
Subject lines of a typical email message
• It matches a beginning of line followed by either the characters
‘From’ or ‘Subject’ followed by a ‘:’
• Subexpressions are used to limit the scope of the
alternation
– At(ten|nine)tion then matches “Attention” or
“Atninetion”, not “Atten” or “ninetion” as would
happen without the parenthesis - Atten|ninetion
28. Egrep: Repetition Shorthands
• The * (star) has already been seen to specify zero
or more occurrences of the immediately preceding
character
• + (plus) means “one or more”
abc+d will match ‘abcd’, ‘abccd’, or ‘abccccccd’ but
will not match ‘abd’
Equivalent to {1,}
29. Egrep: Repetition Shorthands cont
• The ‘?’ (question mark) specifies an optional character,
the single character that immediately precedes it
July? will match ‘Jul’ or ‘July’
Equivalent to {0,1}
Also equivalent to (Jul|July)
• The *, ?, and + are known as quantifiers because they
specify the quantity of a match
• Quantifiers can also be used with subexpressions
– (a*c)+ will match ‘c’, ‘ac’, ‘aac’ or ‘aacaacac’ but will not
match ‘a’ or a blank line
30. Grep: Backreferences
• Sometimes it is handy to be able to refer to a
match that was made earlier in a regex
• This is done using backreferences
– n is the backreference specifier, where n is a number
• Looks for nth subexpression
• For example, to find if the first word of a line is
the same as the last:
– ^([[:alpha:]]{1,}) .* 1$
– The ([[:alpha:]]{1,}) matches 1 or more
letters
31. Practical Regex Examples
• Variable names in C
– [a-zA-Z_][a-zA-Z_0-9]*
• Dollar amount with optional cents
– $[0-9]+(.[0-9][0-9])?
• Time of day
– (1[012]|[1-9]):[0-5][0-9] (am|pm)
• HTML headers <h1> <H1> <h2> …
– <[hH][1-4]>
32. grep Family
• Syntax
grep [-hilnv] [-e expression] [filename]
egrep [-hilnv] [-e expression] [-f filename] [expression]
[filename]
fgrep [-hilnxv] [-e string] [-f filename] [string] [filename]
– -h Do not display filenames
– -i Ignore case
– -l List only filenames containing matching lines
– -n Precede each matching line with its line number
– -v Negate matches
– -x Match whole line only (fgrep only)
– -e expression Specify expression as option
– -f filename Take the regular expression (egrep) or
a list of strings (fgrep) from filename
33. grep Examples
• grep 'men' GrepMe
• grep 'fo*' GrepMe
• egrep 'fo+' GrepMe
• egrep -n '[Tt]he' GrepMe
• fgrep 'The' GrepMe
• egrep 'NC+[0-9]*A?' GrepMe
• fgrep -f expfile GrepMe
• Find all lines with signed numbers
$ egrep ’[-+][0-9]+.?[0-9]*’ *.c
bsearch. c: return -1;
compile. c: strchr("+1-2*3", t-> op)[1] - ’0’, dst,
convert. c: Print integers in a given base 2-16 (default 10)
convert. c: sscanf( argv[ i+1], "% d", &base);
strcmp. c: return -1;
strcmp. c: return +1;
• egrep has its limits: For example, it cannot match all lines that
contain a number divisible by 7.
34. Fun with the Dictionary
• /usr/dict/words contains about 25,000 words
– egrep hh /usr/dict/words
• beachhead
• highhanded
• withheld
• withhold
• egrep as a simple spelling checker: Specify plausible
alternatives you know
egrep "n(ie|ei)ther" /usr/dict/words
neither
• How many words have 3 a’s one letter apart?
– egrep a.a.a /usr/dict/words | wc –l
• 54
– egrep u.u.u /usr/dict/words
• cumulus
35. Other Notes
• Use /dev/null as an extra file name
– Will print the name of the file that matched
• grep test bigfile
– This is a test.
• grep test /dev/null bigfile
– bigfile:This is a test.
• Return code of grep is useful
– grep fred filename > /dev/null && rm filename
36. This is one line of text input line
o.*o regular expression
x Ordinary characters match themselves
xyz
(NEWLINES and metacharacters excluded)
Ordinary strings match themselves
fgrep, grep, egrep
m Matches literal character m
^ Start of line
$ End of line
. Any single character
[xy^$x] Any of x, y, ^, $, or z
[^xy^$z] Any one character other than x, y, ^, $, or z grep, egrep
[a-z] Any single character in given range
r* zero or more occurrences of regex r
r1r2 Matches r1 followed by r2
(r) Tagged regular expression, matches r
n Set to what matched the nth tagged expression
(n = 1-9) grep
{n,m} Repetition
r+ One or more occurrences of r
r? Zero or one occurrences of r
r1|r2 Either r1 or r2
(r1|r2)r3
(r1|r2)*
Either r1r3 or r2r3
Zero or more occurrences of r1|r2, e.g., r1, r1r1, egrep
Quick
Reference
r2r1, r1r1r2r1,…)
{n,m} Repetition