替换sed/grep/cut/awk,让您像perl一样在普通shell中执行python的一行代码。

Pyped的Python项目详细描述


pyped:将数据从bash管道传输到python的命令,反之亦然
=========================================

*警告:自上一个版本以来,命令行名"py"已重命名为"pyp",以避免与python中的新工具发生冲突
stdlib naMED"Py"。这意味着pyped现在与提示"python power at the project sharing the same name and goals."项目不兼容。*


pyped是一个命令行工具,允许您使用python处理另一个命令
输出一行代码,如perl或awk。

$ps aux pyp"line=x.split()""打印(第[1行,第[1]行,第[1]行])""grep工人
18921[郭克石/1:2]
22489[郭克石/3:0]
24065[郭克石/3:3]
24869[郭克石/u:3]
24869[郭克石/u:3]>24869[郭克石/u:3]
24869[郭克石/u:3]
2526363[郭克石/u:1]
25511[郭克石/2:2]
25720 25720[郭克石/p;郭克/0:1]<26491[KWORKR/2:0]
>26569[KWORKR/1:0]
>26592[KWORKR/U:0]
>26861名工人


>或者这个:



$ls-1 pyp-i"x in计数器的x in计数器(路径(x.split()[-1]),x in l的x x in l.ext,items():print(x)"
(u.sh',2)
(',3)
(u.sh~'>(u.sh~',3)
(u.sh~'.sh~',3)
(br/>(u.>(u'.py',4)
(u.desktop',1)





===



==


用法::

$shell_u command_pyp[选项]"any python one liner"[另一python one liner][另一个python shell_函数]

在这种情况下,python代码
将可以访问变量"x",该变量是从
stdin转换为unicode的一行(没有结尾'\n')。stdin
中的每一行都将逐个填充到"x",并且对于"x"的每个新值都将执行python代码


您还可以访问变量"i",从0开始,python语句的每次调用都会增加一个整数。

东西,如果你想出现什么东西。


没有pyped::


$echo"test"
test
$ls/etc;tail
wordpress
wpa
x11
xdg
xml
xul ext
xulrunner-1.9.2
y-ppa-manager.conf
zsh
zshommand_not_u found


pyped::


$pyp"print('test')"
test
$ls/etc/tail-n 4 pyp"print('%s'%(i,x.upper())"
0 wpa供应
1 x11
2 xdg
3 xml


|pyp"
如果i>;0:
值=x.split()
用户,pid=values[:2]
命令=''。连接(值[10:])
如果用户!=根目录:
print('\%s';\%s';\%s''%(user.upper(),pid,command))
"
"syslog";"741";"rsyslogd-c5"
"avahi";"788";"avahi守护进程:运行"
"avahi";"791";"avahi守护进程:chroot helper"
"daemon";"1271";"atd"
"whoopsie";"1289";"whoopsie"
"mysql";"1304";"/usr/sbin/mysqld"
"me";"1699";"ps aux"
"me";"2167";"-"
"timidity";"2202";"/usr/bin/timidity-os-iad"
"rtkit";"2594";"/usr/lib/rtkit/rtkit守护进程"
"me";"2763";"/usr/bin/gnome keyring守护进程--守护进程--登录"
"me";"2774";"gn"ome session--session=ubuntu"




==

**




你想申请全社会ch作为连接或全局计数器。

e.g::

wpa supplicant-x11-xdg-xml

-p
**



自动打印python表达式的结果。

e.g::


wpa-u supplicant
x11
xdg
xml


如果表达式返回none,则不打印行。

警告:其他标志通常接受python**语句**(if、for等)。如果
使用此标志,则它们中的大多数现在只接受**表达式**
(可以直接传递给打印函数的内容)。

-s
**


结果将存储在"f"中。"x"、"i"和"stdin"仍然可用。


例如:


f
**


使用py过滤输入thon表达式(类似于grep,但在任何python条件下)。

e.g::

/was on/dev/sda7 during installation
swap was on/dev/sda6 during installation

已跳过ne。

警告:其他标志接受python**语句**(if、for等)。此标志
仅接受**表达式**(您可以直接传递if关键字的内容)。

-b
**


传递您希望在从stdin读取之前运行的语句。
主要用于导入。


例如::

$ls/etc/tail-n 4 pyp"打印(pickle.dumps(x))"-b"导入p"ickle"
vwordpress
p0
.
vwpa_suppliciant
p0
.
vx11


此操作只执行一次。

-a
***

ode以前失败过。

主要用于计数器和清理。






--full
**************************



>将标准输入的整个内容传递给一个"stdin"变量。



>例如:



$cat/etc/fstab/pyp"prin(len(x))"
>45
>1
>62
>62
>62
>74
>63
>63
>1
>1
>70

<40
<40
<93

<93
br/>43
91
118

713



--stdin字符集
**************


强制字符集解码输入。否则,我们将尝试
检测它,如果失败,则返回utf-8。

ET:

$ls/etc/tail-n 4 pyp"é"--stdin字符集ascii
"ascii"编解码器无法解码位置0中的字节0xc3:序号不在范围(128)内不必考虑就可以调用"print()"。

但是,如果希望保留换行符,请使用--rstrip=''。



$ls/etc/pyp-i"表示列表中的x(l)[:5]:print(x)"
总计2,5m
drwxr-xr-x 204根12k déc.1 16:40。
drwxr-x r-x 26根根4,0k 11月12日07:37..
drwxr-xr-x 3根4,0k mars 7 2013 acpi
-rw-r--r--1根3,0k avril 26 2011 adduser.conf

/>$ls/etc/pyp-i"对于列表中的x(l)[:5]:print(x)"--rstrip='
总计250万


drwxr-xr-x 204根根12k déc.1 16:40。


drwxr-xr-x 26根4,0k 11月12日07:37。


-rw-r--r--1根根根3,0k avril 26 2011 adduser.conf



--json
********



将stdin解析为json,并使整个过程在"j"变量中可访问。

$echo'[{"foo":"bar"}'pyp-j"print(j[0]['foo'])"
bar





/>====


在进行任何处理之前,我们导入几个模块,以便它们在python代码中立即可用:


import sys
import os
import re
import json
import base64
import calendar
import csv
import itertools
import random
import hashlib
import tempfile
import argparse
import random
import math

from itertools import*
from uuid import uuid4
from datetime import datetime,timedelta
from collections import counter,orderedict

我们还导入这4个第三方库::


import arrowimport requests

from minibelt import*;better itertools
from path import path
由setuptools自动停止,因此如果使用pip或
easy_install,则很容易进行。


如果没有安装,并且没有安装,则忽略这些导入。


从未来导入(unicode文本,绝对导入,
print函数,除法)

(但是可以使用相对的导入语法)。

这样,pyped就可以在python 3上运行。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Selenium Web驱动程序。负载策略不稳定   JAVAsql。SQLException:没有合适的驱动程序无法创建“oracle”类的JDBC驱动程序。jdbc。驾驶员用于连接URL的OracleDriver   java谷歌地图“优化路径点”如何解决旅行推销员的问题?   java这段代码可能会造成潜在的内存泄漏吗?   java更改JCombobox的高度   java如何清除jtable中的数据   JavaHadoop:错误安全性。UserGroupInformation:MapReduce程序中的PriviledgedActionException   java如何将sonarlint添加到gradle任务中?   性能为什么Java排序优于原语计数排序   java Spring属性PlaceHolderConfigure从数据库加载   java从泛型获取类不起作用   java Spring@Transactional传播属性   java试图拥有主菜单和子菜单类   XSL的java后处理步骤   java第一个字母和最后一个字母、第二个字母和倒数第二个字母之间的差值之和,依此类推,直到单词的中心   switch语句在Java中的下一个出发点   java 安卓如何在OnBackpress()时设置viewpager的特定项目位置?