Perl一行式:字段处理和计算】的更多相关文章

perl一行式程序系列文章:Perl一行式 获取每行最后一个字段 $ perl -alne 'print $F[$#F]' file.log 这里涉及到了选项"-a".数组@F.这里同时还会解释-F选项,它和-a常一起使用. 选项"-a"和awk的自动字段分割一样,会自动将每行数据划分为几个字段.划分字段的分隔符由-F选项指定.如果没有指定-F,则默认以空白符号进行分割(连续空格被认为是单空格). 分割后的元素全都收集到一个数组@F中,所以第一个字段的内容是$F[0…
perl一行式程序系列文章:Perl一行式 所有行的行号 $ perl -pe '$_ = "$. $_"' file.log $ perl -ne 'print "$. $n"' file.log 这里涉及了一个特殊变量$.. 这个特殊变量代表的是当前处理行的行号.对于Perl的一行式来说,通过<>隐式打开的文件句柄默认不会关闭,所以如果参数中有多个文件,进入下一个文件时行号不会重置. 例如: $ cat a.txt aaa bbb $ cat b.t…
perl一行式程序系列文章:Perl一行式 对于Perl的一行式perl程序来说,选择要输出的.要删除的.要插入/追加的行是非常容易的事情,因为print/say决定行是否输出/插入/追加/删除.虽然简单,但对于广泛应用在sed的示例还是可以拿到这里来讨论一番. 因为输出/删除/插入/追加行都是通过print/say在不同条件下的操作,所以本文只会介绍输出操作,删除/插入/追加其实都是同样的原理. 输出第一行 $ perl -lne 'print;exit' file.log 输出第13行 $…
perl一行式程序系列文章:Perl一行式 文本大小写转换 全部字符转换成大写或小写,有几种方式: # 转大写 $ perl -nle 'print uc' file.log $ perl -ple '$_ = uc' file.log $ perl -nle 'print "\U$_"' file.log # 转小写 $ perl -nle 'print lc' file.log $ perl -ple '$_ = lc' file.log $ perl -nle 'print &q…
perl一行式程序系列文章:Perl一行式 假如文件file.log内容如下: root x 0 0 root /root /bin/bash daemon x 1 1 daemon /usr/sbin /usr/sbin/nologin bin x 2 2 bin /bin /usr/sbin/nologin sys x 3 3 sys /dev /usr/sbin/nologin sync x 4 65534 sync /bin /bin/sync 每行后加一空行 $ perl -pe '$…
好处:避免类初始化时大量重复的赋值语句 用到了魔法__dict__ # 一行式构造器 class Test(): # 初始化 def __init__(self, a, b, c=2, d=3, e=4, f=5): self.__dict__.update({k:v for k,v in locals().items() if k != 'self'}) # 设置 def set_option(self, *args, **kwargs): self.__dict__.update(dict(…
---通过sql的stuff 把一列几行的记录拼接在一行一个字段 select FID,a.FCustomerID as 工地ID , 应验收节点 = (stuff((select ',' + isnull(t2.FName,'') from MD_ProjectPlanEntry t1 inner join MD_BaseData6_L t2 on t1.FGCJDXM=t2.FID ),t1.FPEDATE,)),) and FAEDATE is null ,,'')) , 实际验收节点 =…
# 简易Web Server,可以直接快速共享文件 python -m http.server # 脚本性能分析 python -m cProfile my_script.py # 列表辗平 import itertools a_list = [[1, 2], [3, 4], [5, 6]] print(list(itertools.chain(*a_list))) # Output: [1, 2, 3, 4, 5, 6] # 一行式的构造器,避免类初始化时大量重复的赋值语句 class A:…
sql修改字段长度的语法: alter table 表名 modify 字段名 字段类型; sql修改字段长度的示例代码 alter table qtline modify qtl_bidernote VARCHAR2(4000); 标准SQL,对任何数据库都适用 alter table fzrtmis.reporttemplate modify REPNAME varchar(100): 修改字段名名称 ALTER TABLE TABLENAME RENAME COLUMN COL1 TO C…
目录 目录 1 1. 前言 1 2. 优点 1 3. 方法一:使用struct 2 3.1. 设置初始值(覆盖原有的,如果存在) 2 3.2. 查询k1的值 2 3.3. 设置初始值(覆盖原有的,如果存在) 2 3.4. 查询k1的值 2 3.5. 增量操作(增1) 2 3.6. 查询k1的值 3 3.7. 增量操作(增1) 3 3.8. 查询k1的值 3 3.9. pack和unpack 3 3.10. AOF文件 3 3.11. 进化的增量操作 4 3.12. 进化的查询操作 4 4. 方法…