Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

grep: implement -x for fixed strings #742

Merged
merged 1 commit into from
Sep 23, 2024
Merged

Conversation

mknos
Copy link
Contributor

@mknos mknos commented Sep 23, 2024

  • Standards document mentions that option -x should work with fixed strings [1]
  • This version didn't allow -x with -F; add it now for better compliance with standard
  • I have a small test file with some C code
  • test1: "perl grep int a.c" --> matches "int\n" and "printf(...);\n"
  • test2: "perl grep -i Int a.c" --> same match as test1
  • test3: "perl grep -iv Int a.c" --> matches all except "int\n" and "printf(...);\n"
  • test4: "perl grep -v Int a.c" --> matches all lines because Int doesn't appear at all
  • test5: "perl grep -F -x int a.c" --> matches only "int\n"
  • test6: "perl grep -Fxi Int a.c" --> same match as test5
  • test7: "perl grep -Fxiv Int a.c" --> matches all except "int\n"
  • test8: "perl grep -Fxv Int a.c" --> matches all lines because Int doesn't appear at all
  1. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html

* Standards document mentions that option -x should work with fixed strings [1]
* This version didn't allow -x with -F; add it now for better compliance with standard
* I have a small test file with some C code
* test1: "perl grep int a.c" --> matches "int\n" and "printf(...);\n"
* test2: "perl grep -i Int a.c" --> same match as test1
* test3: "perl grep -iv Int a.c" --> matches all except "int\n" and "printf(...);\n"
* test4: "perl grep -v Int a.c" --> matches all lines because Int doesn't appear at all
* test5: "perl grep -F -x int a.c" --> matches only "int\n"
* test6: "perl grep -Fxi Int a.c" --> same match as test5
* test7: "perl grep -Fxiv Int a.c" --> matches all except "int\n"
* test8: "perl grep -Fxv Int a.c" --> matches all lines because Int doesn't appear at all

1. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html
@github-actions github-actions bot added Type: enhancement improve a feature that already exists Priority: low get to this whenever Program: grep The grep program labels Sep 23, 2024
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:44 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing September 23, 2024 13:45 — with GitHub Actions Inactive
@coveralls
Copy link

coveralls commented Sep 23, 2024

Pull Request Test Coverage Report for Build 10995604813

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.7%) to 73.069%

Totals Coverage Status
Change from base Build 10982053865: -0.7%
Covered Lines: 350
Relevant Lines: 479

💛 - Coveralls

@briandfoy briandfoy added Status: accepted The fix is accepted and removed Priority: low get to this whenever labels Sep 23, 2024
@briandfoy briandfoy self-assigned this Sep 23, 2024
@briandfoy briandfoy merged commit 5a46037 into briandfoy:master Sep 23, 2024
22 of 23 checks passed
@briandfoy briandfoy added Status: released there is a new release with this fix and removed Status: accepted The fix is accepted labels Sep 30, 2024
@briandfoy briandfoy added Type: compatability make it work like GNU or BSD and removed Type: enhancement improve a feature that already exists labels Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Program: grep The grep program Status: released there is a new release with this fix Type: compatability make it work like GNU or BSD
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants