..

perl one-liners 技巧

本文持续更新。

perl 支持和 awk , sed 类似的单行命令。perl 的命令行数: -n 循环每一行 -e 指定单行命令 -p 循环每一行,并且输出符合条件的行(帮你多写个 print) -l 没一行默认自动添加换行符 -i 直接修改源文件,类似于 sed -i -F 对于每行设置分割符号,类似于 awk -F

了解了以上信息以后就能写一些简单的单行程序了。

获取 /bin/ 目录下的所有文件名字

find /bin/ | perl -ne 'if (/\/bin\/(.*)/) {print "$1\n"}'

等价 awk 实现如下:

find /bin/  | awk -F '/' '{print $3}'

2020年07月08日更新

打印文本的指定行

# 打印文本的第十行
perl -ne 'print if($. == 10)' file.txt

2020年07月30日更新

输出第一列

perl -alne 'print $F[0]'

等价 awk

awk '{print $1}'