Skip to content

Conversation

mknos
Copy link
Contributor

@mknos mknos commented Aug 10, 2024

  • The -q flag in grep is concerned if a match was found in any file
  • The program can successfully terminate after the first match without searching subsequent files in argument list
  • GNU grep behaves in this way; strace on my Linux system confirms that only the 1st file in argument list is opened when that file contains a match
%strace  grep -q perl ar awk 2> trace # gnu grep
%grep open trace
...
openat(AT_FDCWD, "ar", _RDONLY|O_NOCTTY|O_LARGEFILE) = 3
^^^ final openat() in process

* -q flag of grep is concerned if a match was found in any file
* The program can terminate after the first match without searching in subsequent files
* GNU grep behaves in this way; strace on my Linux system confirms that only the 1st file in argument list is opened when that file contains a match

%strace  grep -q perl ar awk 2> trace # gnu grep
%grep open trace
...
openat(AT_FDCWD, "ar", _RDONLY|O_NOCTTY|O_LARGEFILE) = 3
^^^ final openat() in process
@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 Aug 10, 2024
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:58 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 01:59 — with GitHub Actions Inactive
@coveralls
Copy link

coveralls commented Aug 10, 2024

Pull Request Test Coverage Report for Build 10328105717

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 10316135952: -0.7%
Covered Lines: 350
Relevant Lines: 479

💛 - Coveralls

@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing August 10, 2024 02:06 — with GitHub Actions Inactive
@mknos mknos had a problem deploying to automated_testing August 10, 2024 02:07 — with GitHub Actions Failure
@briandfoy
Copy link
Owner

changes: stop looking after first match with -q.

@briandfoy briandfoy merged commit 70393e7 into briandfoy:master Aug 12, 2024
20 of 22 checks passed
@briandfoy briandfoy self-assigned this Aug 12, 2024
@briandfoy briandfoy added Status: accepted The fix is accepted and removed Priority: low get to this whenever labels Aug 12, 2024
@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