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

cut: consistent field list handling for -f #789

Merged
merged 1 commit into from
Nov 8, 2024

Conversation

mknos
Copy link
Contributor

@mknos mknos commented Nov 8, 2024

  • handle_b() had been updated with more correct parser for field lists (including sorting fields and ranges)

  • Move the list-spec parser into its own function and use it in handle_f() for "cut -f"

  • handle_f() was looping over @hunk multiple times (incorrectly) when list-spec contained a comma

  • Output tested against GNU version

  • test1: echo 'a:b:c:d:e:f' | perl cut -d ':' -f 3,2,2,1
    a:b:c

  • test2: echo 'a:b:c:d:e:f' | perl cut -d ':' -f -2
    a:b

  • test3: echo 'a:b:c:d:e:f' | perl cut -d ':' -f 3
    c

  • test4: echo 'a:b:c:d:e:f' | perl cut -d ':' -f 3-
    c:d:e:f

  • test5: printf "a:b:c:d:e:f\nhey\n" | perl cut -d ':' -f 3-
    c:d:e:f
    hey

  • test6: printf "a:b:c:d:e:f\nhey\n" | cut -s -d ':' -f 3-
    c:d:e:f

  • test7: printf "a:b:c:d:e:f\n" | perl cut -d ':' -f 100
    ["\n" printed]

* handle_b() had been updated with more correct parser for field lists (including sorting fields and ranges)
* Move the list-spec parser into its own function and use it in handle_f() for "cut -f"
* Output tested against GNU version
* test1: echo 'a:b:c:d:e:f' | perl cut -d ':' -f 3,2,2,1
a:b:c
* test2: echo 'a:b:c:d:e:f' | perl cut -d ':' -f -2
a:b
* test3: echo 'a:b:c:d:e:f' | perl cut -d ':' -f 3
c
* test4: echo 'a:b:c:d:e:f' | perl cut -d ':' -f 3-
c:d:e:f
* test5: printf "a:b:c:d:e:f\nhey\n" | perl cut -d ':' -f 3-
c:d:e:f
hey
* test6: printf "a:b:c:d:e:f\nhey\n" | cut -s -d ':' -f 3-
c:d:e:f
* test7: printf "a:b:c:d:e:f\n" | perl cut  -d ':' -f 100
["\n" printed]
@github-actions github-actions bot added Type: enhancement improve a feature that already exists Priority: low get to this whenever Program: cut The cut program labels Nov 8, 2024
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:31 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 8, 2024 01:32 — with GitHub Actions Inactive
@coveralls
Copy link

coveralls commented Nov 8, 2024

Pull Request Test Coverage Report for Build 11734403755

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 73.069%

Totals Coverage Status
Change from base Build 11732882413: 0.0%
Covered Lines: 350
Relevant Lines: 479

💛 - Coveralls

@briandfoy briandfoy self-assigned this Nov 8, 2024
@briandfoy briandfoy merged commit b488c0f into briandfoy:master Nov 8, 2024
23 checks passed
@briandfoy
Copy link
Owner

changes: handle -f consistently

@briandfoy briandfoy added Status: accepted The fix is accepted and removed Priority: low get to this whenever labels Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Program: cut The cut program Status: accepted The fix is accepted Type: enhancement improve a feature that already exists
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants