Awk/Sed for humans.
Project description
The Atmark – Awk+sed for humans.
Do this:
# Rename a files in current directory (file-name -> file_name.jpg) $ ls | @ replace - _ "mv # @.jpg" | sh
Except this:
# Rename a files in current directory (file-name -> file_name.jpg) $ ls | awk '{print $1 $1}' | sed s/"-"/"_"/ | awk '{print "mv", $2, $1, ".jpg"}' | sh
More deep:
$ ls | @ replace - _ "mv # @.jpg" | sh ------- | | ------------ | | | \_ format string (# - link on first state, | | | @ - link on current state (after replace)) | | | | | \_ second replace param (to replace) | | | \_ first replace param (what replace) | \_ function name (replace)
More examples:
Change file’s extension .html > .php
# Atmark $ ls | @ split . head "mv # @.php" # Awk/Sed $ ls | awk '{printf "mv "$0; sub(/html/,"php"); print " "$0}' | sh
Print all but the first three columns
# Atmark $ ls -la | @ split_ drop 3 join_ # Awk/Sed $ ls -la | awk '{for(i=1;i<4;i++) $i="";print}'
Kill process by name
# Atmark $ ps aux | @ grep sysmond$ index 2 "kill @" | sh # Awk/Sed $ ps aux | grep [s]ysmond | awk '{print "kill "$2}' | sh
And more, more, more.
Requirements
python >= 2.6
Installation
The Atmark should be installed using pip:
pip install atmark
Usage
$ @ --help Atmark (@) -- is a command line utility for parsing text input and generating output. You can pipe data within a Atmark (@) statement using standard unix style pipes ("|"). Provide for Atmark function composition and let them work for you. Example. Replace "_" with "-" in files in current dir and change the files extensions to jpg: $ ls | @ replace _ - split . "mv # @.jpg" It is mean: $ ls > replace($LINE, "_", "-") > split($RESULT, ".") > format($RESULT, "mv $LINE $RESULT.jpg") You can use "@ --debug ARGS" for debug Armark commands. =================================================================================== LIST OF THE BUILT IN FUNCTIONS format PATTERN -- format and print a string. Symbol '#' in PATTERN represents the line of the input (before pipe "|"). Symbol '@' in PATTERN represents the current value in process of composition of fuctions. Synonyms: You can drop `format` function name. This lines are equalent: $ ls | @ upper format "@.BAK" $ ls | @ upper "@.BAK" capitalize/c -- capitalize the string. drop N -- drop N elements from list/string. filter/if -- filter results by value has length grep/g REGEXP -- filter results by REGEXP head/h -- extract the first element/character of a list/string index/ix/i N -- get the N-th element/character from list/string. join/j SEPARATOR -- concatenate a list/string with intervening occurrences of SEPARATOR join_/j_ -- same as join but SEPARATOR set as ' ' last -- get last element/character of incoming list/string. length/len -- return length of list/string. lower/l -- make the string is lowercase replace/r FROM TO -- replace in a string/list FROM to TO. reverse -- reverse list/string. rstrip/rs PATTERN -- return the string with trailing PATTERN removed. sort -- sort list/string. split/sp SEPARATOR -- return a list of the substrings of the string splited by SEPARATOR split_/sp_ -- same as split by splited a string by whitespace characters strip/s PATTERN -- return the string with leading and trailing PATTERN removed. tail/t -- extract the elements after the head of a list take N -- take N elements from list/string. upper/u -- make the string is uppercase
Bug tracker
If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/atmark/issues
Contributing
Development of starter happens at github: https://github.com/klen/atmark
Contributors
klen (Kirill Klenov)
License
Licensed under a BSD license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
atmark-0.1.4.tar.gz
(7.1 kB
view details)
Built Distribution
File details
Details for the file atmark-0.1.4.tar.gz
.
File metadata
- Download URL: atmark-0.1.4.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6a931a3499d13dc0ab91b8b9063d616f42b110cf820eb420d8a70790df88d5e |
|
MD5 | e3a63646ae106e7807830bfc3ff83096 |
|
BLAKE2b-256 | 178e4bb02844f887aa9d618850448ecde91fca126e24d73ef355da2897ddf846 |
File details
Details for the file atmark-0.1.4-py2.py3-none-any.whl
.
File metadata
- Download URL: atmark-0.1.4-py2.py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a59f7a2a9d77ae2dab68bdd5b78891a65d987b3f0ae36f0b5c0ad2865f960ac4 |
|
MD5 | 50089de1d06ebf009a6caa7c9aab38d2 |
|
BLAKE2b-256 | 91d5c9e9e32cf1aedc247af52c8b81deb0785f5604297b6daa6dbb74f1dc61f0 |