expr: refresh page (#7999)

* Refresh page:
- better grammar in descriptions
- more examples
- reorder examples

* Fix the last example

* Some rewordings

Co-authored-by: Muhammad Falak R Wani <falakreyaz@gmail.com>

* Rewording again

* Fix errors

* Change placeholders:

- use an actual value in some placeholders
- use generic placeholders instead of some actual values

* Add note about supported operators

* Update pages/common/expr.md

Co-authored-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* Fix quoting and simplify descriptions

* Fix `index` description

* Apply suggestions from code review

---------

Co-authored-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
Co-authored-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
pull/6/head
Emily Grace Seville 2023-02-21 19:57:06 +10:00 committed by GitHub
parent 846b6422c7
commit 6ea92d50ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 10 deletions

View File

@ -3,22 +3,30 @@
> Evaluate expressions and manipulate strings.
> More information: <https://www.gnu.org/software/coreutils/expr>.
- Get string length:
- Get the length of a specific string:
`expr length {{string}}`
`expr length "{{string}}"`
- Evaluate logical or math expression with an operator ('+', '-', '*', '&', '|', etc.). Special symbols should be escaped:
- Get the substring of a string with a specific length:
`expr {{first_argument}} {{operator}} {{second_argument}}`
`expr substr "{{string}}" {{from}} {{length}}`
- Get position of the first character in 'string' that matches 'substring':
- Match a specific substring against an anchored pattern:
`echo $(expr index {{string}} {{substring}})`
`expr match "{{string}}" '{{pattern}}'`
- Extract part of the string:
- Get the first char position from a specific set in a string:
`echo $(expr substr {{string}} {{position_to_start}} {{number_of_characters}}`
`expr index "{{string}}" "{{chars}}"`
- Extract part of the string which matches a regular expression:
- Calculate a specific mathematic expression:
`echo $(expr {{string}} : '\({{regular_expression}}\)')`
`expr {{expression1}} {{+|-|*|/|%}} {{expression2}}`
- Get the first expression if its value is non-zero and not null otherwise get the second one:
`expr {{expression1}} \| {{expression2}}`
- Get the first expression if both expressions are non-zero and not null otherwise get zero:
`expr {{expression1}} \& {{expression2}}`