Linux自由学习(五)

《鸟哥》

正则表达式

awk–数据处理工具

适合处理小型数据
取出第1列和第3列的数据:每一行的每个栏位都是有变量名称的, $1, $2… 等变量名称,注意,$0 代表『一整列数据』
Linux自由学习(五)

awk 主要是处理『每一行的栏位内的数据』,默认的『栏位的分隔符号为 “空白键” 或 “[tab]键” 』

awk的内建变量:
NF 每一行 ($0) 拥有的栏位总数
NR 目前 awk 所处理的是『第几行』数据
FS 目前的分隔字节,默认是空白键

下面的梨子:

  • 列出每一行的帐号(就是 $1);
  • 列出目前处理的行数(就是 awk 内的 NR 变量)
  • 并且说明,该行有多少栏位(就是 awk 内的 NF 变量)
    因为print的格式就是后面要加"",所以都用双引号圈起来了
    Linux自由学习(五)
    逻辑运算
    梨子:/etc/passwd中第三栏<10 以下的数据,并且仅列出帐号(第一栏)与第三栏
    Linux自由学习(五)
    可以看到第一行没有显示出来,因为第二行开始才起效,修改一哈:
    Linux自由学习(五)
    计算功能
    算和的一个功能,需要注意的点就是NR==1的时候不用计算NR>=2才处理
    Linux自由学习(五)

文件比对工具

diff:以行 为单位比对
通常用在同一的文件(或软件)的新旧版本差异上
梨子:删掉第4行 取代第6行
Linux自由学习(五)
不知道咋了,我的目录比对不了:
Linux自由学习(五)
cmp
主要是利用位组进行比对
Linux自由学习(五)
patch
旧文件升级成新文件,先比较先旧版本的差异,并将差异档制作成为补丁档,再由补丁档升级旧文件
过程大概是这样的,随便看下吧
Linux自由学习(五)

显示文件页码

pr
Linux自由学习(五)

Shell Script

问题小记:
Shell脚本里面的这几个东西都没有任何作用,数据读不进去,也没有触发退出机制????
是不是我PATH抄错了???
Linux自由学习(五)
fine~~找到原因了,来自这里默认shell脚本的问题
Linux自由学习(五)
????修好了
Linux自由学习(五)