Skip to main content
https://img.shields.io/pypi/v/pysed.svg https://travis-ci.org/dslackw/pysed.svg?branch=master https://landscape.io/github/dslackw/pysed/master/landscape.png https://img.shields.io/codacy/5ef917a8c6354d8f9d984183c8fb5847.svg https://img.shields.io/pypi/dm/pysed.svg https://img.shields.io/badge/license-GPLv3-blue.svg https://img.shields.io/github/stars/dslackw/pysed.svg https://img.shields.io/github/forks/dslackw/pysed.svg https://img.shields.io/github/issues/dslackw/pysed.svg

About

CLI utility that parses and transforms text written in Python.

Pysed is a Python stream editor, is used to perform basic text transformations from a file. It reads text, line by line, from a file and replace, insert or print all text or specific area. Actually pysed is a passage of Python module ‘re’ in terminal.

Read more for Regular Expression Syntax

[CHANGELOG]

Installation

$ pip install pysed --upgrade

uninstall

$ pip uninstall pysed

Command Line Tool Usage

Options:
  -h, --help                   display this help and exit
  -v, --version                print program version and exit
  -r, --replace                search and replace text
  -l, --lines                  search pattern and print lines
  -g, --highlight              highlight and print text
  -s, --stat                   print text statistics
      --write                  write changes to file

Python regex flags

Syntax

Python syntax, Meaning

I or IGNORECASE

re.IGNORECASE, ignore case.

M or MULTILINE

re.MULTILINE, make begin/end {^, $} consider each line.

S or DOTALL

re.DOTALL, make . match newline too.

U or UNICODE

re.UNICODE, make {w, W, b, B} follow Unicode rules.

L or LOCALE

re.LOCALE, make {w, W, b, B} follow locale.

X or VERBOSE

re.VERBOSE, allow comment in regex.

Usage Examples

$ cat text.txt
This is my cat,
 whose name is Betty.
This is my dog,
 whose name is Frank.
This is my fish,
 whose name is George.
This is my goat,
 whose name is Adam.

Replace text:

$ pysed -r "name" "surname" text.txt
This is my cat,
 whose surname is Betty.
This is my dog,
 whose surname is Frank.
This is my fish,
 whose surname is George.
This is my goat,
 whose surname is Adam.

Maximum replace text:

$ pysed -r "name" "surname" 2 text.txt
This is my cat,
 whose surname is Betty.
This is my dog,
 whose surname is Frank.
This is my fish,
 whose name is George.
This is my goat,
 whose name is Adam.

Add character to the beginning of each line:

$ pysed -r "^" "# " 0 M text.txt
# This is my cat,
#  whose name is Betty.
# This is my dog,
#  whose name is Frank.
# This is my fish,
#  whose name is George.
# This is my goat,
#  whose name is Adam.

Add character to the end of each line:

$ pysed -r "$" " # " 0 M text.txt
This is my cat, #
 whose name is Betty. #
This is my dog, <-
 whose name is Frank. #
This is my fish, #
 whose name is George. #
This is my goat, #
 whose name is Adam. #

Search and print lines:

$ pysed -l "name" text.txt
 whose name is Betty.
 whose name is Frank.
 whose name is George.
 whose name is Adam.

Highlight text:

$ pysed -g "name" "red" text.txt
This is my cat,
 whose name is Betty.
This is my dog,
 whose name is Frank.
This is my fish,
 whose name is George.
This is my goat,
 whose name is Adam.

Print statics text:

$ pysed -s text.txt
Lines: 8, Words: 32, Chars: 125, Blanks: 27

Use the argument "--write" in any case when you want to save the changes:

$ pysed -r "name" "surname" text.txt --write


Use as piping:

$ echo "This is my cat, whose name is Betty" | pysed -r "cat" "dog"
This is my dog, whose name is Betty

$ repl="fish"
$ echo "This is my cat, whose name is Betty" | pysed -r "cat" $repl
This is my fish, whose name is Betty

$ echo "This is my cat, whose name is Betty" | pysed -r "[^\W]+" "-"
- - - -, - - - -

$ echo "This is my cat, whose name is Betty" | pysed -r "is" "IS" 1
ThIS is my cat, whose name is Betty

$ echo "910a13de57dfbdf6f06675db975f8407" | pysed -r "[^\d+]" ""
91013576066759758407

$ echo "/usr/local/bin" | pysed -r "/local" ""
/usr/bin

Please report Issues

Release files for pysed 0.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pysed 0.5.2
File Size Uploaded
pysed-0.5.2.tar.gz 20.8 kB Details

Release files / pysed-0.5.2.tar.gz

Download URL pysed-0.5.2.tar.gz
Size 20.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a5b1dcae98166bcdbce81173c99a15bda6bcfe8debe2b327e55ad4c4341cd681
BLAKE2b-256 checksum
How to use checksums
2be681e3e4a5f126b6bbb2400eae4fcf38b80d94392a6210c402142b967e9a43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.7.8

1 release file

0.7.7

1 release file

0.7.6

2 release files

0.7.5

1 release file

0.7.4

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.2

1 release file

0.6.0

1 release file

This release

0.5.2 This release

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.9

1 release file

0.2.8

1 release file

0.2.7

1 release file

0.2.6

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page