Skip to main content

Tools to pop lines from the head/tail of a file to stdout. Makes files into queues!

Project description

Tools to pop (remove and return) lines from files, with a variety of modes.

This allows you to treat a file on disk as a queue, or to easily strip lines from a file, and many other uses.

Example

[cmd]$ cat test # Show original file

one

two

three

four

five

[cmd]$ popHead 2 test # Remove two lines from head of the file

one

two

[cmd]$ cat test # Show that lines have been removed from file

three

four

five

Modes

The followings modes and their associated command name are given:

Head - popHead [numLines] [filename] - Removes “numLines” from the top of provided “filename”, and prints them on stdout.

Tail - popTail [numLines] [filename] - Removes “numLines” from the bottom of provided “filename”, and prints them on stdout.

Random - popRandom [numLines] [filename] - Removes “numLines” from random positions within provided “filename”, and prints to stdout in a random order.

You can pass the –ordered flag, and the randomly-selected lines will be output in the same order they appear in the file. By default, the random lines will be output in random order.

Range - popRange [start] [stop] (optional: [step]) [filename] - Removes lines using inclusive 1-origin start, stop, and optional step, and prints to stdout. Negative numbers are supported to mean “from the end”, -1 is last line, -2 is second-to-last line.

These - popThese [line1] […lineN] [filename] - Removes specific lines given 1-origin numbers. If numbers are out of range, that number will be ommited. Lines are returned in provided order, and duplicates are allowed. Negative numbers are supported to mean “from the end”.

Peeking

By default, the pop* commands are designed to implement queues, and thus they perform real “pops” and remove the elements extracted from the source file.

If you’d just like to “peek” (extract lines but keep them in the source), add “–peek” when invoking any of the pop* commands.

Module

Functionality is exposed through a module, PopLines, which can perform all the same operations.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

popLines-2.0.0.tar.gz (7.5 kB view details)

Uploaded Source

File details

Details for the file popLines-2.0.0.tar.gz.

File metadata

  • Download URL: popLines-2.0.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for popLines-2.0.0.tar.gz
Algorithm Hash digest
SHA256 d03113cf89e1f838787dc4117325ed7b5da4b435f31dd73ba36ecdacd98ee412
MD5 c1c86b0b686a7ec878e57ce610aef9f7
BLAKE2b-256 9d4e187ac03e1211abfd4dc376fbae884674164f51bf361f94e475f2335426b2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page