shell 中的命令

export : 设置 或者 显示 环境变量 ( 通俗的说,告诉程序先执行export 。告诉他所需的东西在这后面这个目录 或者 文件里)


脚本获取IP地址 :

export addr= `/sbin/ifconfig` |grep -A1 'ens192:'|awk '/inet/{print $2}'

awk 中的 NF: 表示最后一段的值

元字符及其作用:

*  #前面的字符匹配了0次货多次

。 #匹配除换行符以外的任意一个字符

^ #匹配行首。^hell

$   # 匹配行尾 。do$

[]  #匹配指定的任意一个字符,只匹配一个

[^] #匹配除中括号的字符以外的任意一个字符。

\  # 转义字符用来取消特殊字符含义的。

\{n\}   # 表示其前面的字符恰好出现n次。列: [0-9]\{4\} 匹配4位数字,[1][3-8][0-9]\{9\}匹配手机号。

\{n,\}  #表示前面的字符出现的次数不小于n次  列: [0-9]\{2\}表示两位及以上的数字。

\{n,m\} # 表示其前面的字符至少出现n次最多出现m次 列: [a-z] 


grep aa* test1.txt :匹配至少包含一个(连续)a的行。

grep -n “^$” test1.txt :匹配空白符

grep “a[ir]fv” test.txt : 匹配a和f字母中,不是i 就是 r


cut 字段提取命令

-f 第几列。

-d 分隔符,按照指定的分隔符分隔列


awk -F " " ‘{print $5}’ awk 用于截取。

  • BEGIN

给程序赋予初始值,任何在BEGIN {}后面的操作,都是Unix awk 前执行。

  • END

** 给程序赋予初始状态,任何在END {} 后边的操作。都是Unix awk 后执行。**



sed 主要用来将数据进行选取,替换,删除,新增的命令

sed - 选项 ‘动作’ 文件名

选项:

-n 一般sed命令回把所有数据都输出到终端。-n后只会把经过sed处理的行输出。

-e 允许对输入数据应用多条sed命令编辑。

-i 用 sed 的修改结果直接修改读取数据的文件,而不是由屏幕输出。

动作:

a\ : 追加,在当前行添加多行时,除最后一行。每行末尾需要用 “ \ ” 代表数据未完成,

c: 行的替换,用C后面的字符替换元数据行,替换多行时除最后一行外,每行末尾需要 “ \ ”代表数据未完结。

-i:插入,在当前行前插入一行或多行时。插入多行时,除最后一行外。每行末尾需要 “ \ ” 表示数据未完结。

d: 删除 删除指定的行。

p: 打印,输出指定的行。

s: 字符串替换,用一个字符串替换另一个字符串,格式为“行范围s/旧字符串 /新字符串/g”



" " 双引号 ’ ’ 单引号 [ ] 方括号 {} awk 输出时 ()单括号 (( )) 双括号``直接进行大小比较 <, >, =


条件判断

按照文件类型判断:

-d 检测目录是否存在,存在为真

-f 检测文件是否存在,存在为真

-e 检测目录和文件是否存在,存在为真


两个文件比较:

在这里插入图片描述
字符串的判断

-z 判断字符串是否俄为空。(为空返回真)
-n 判断字符串是否为非空。(非空返回真)
字符1 == 字符2 判断字符一是否和字符2相等(相等返回真)
字符1 !== 字符2 判断字符串1和字符串2 不相等(不行等返回真)


多重条件判断:

在这里插入图片描述


unip 用于检查及删除文本中重复出现的行列,一般与sort 懒和使用

参数

-c 在每列旁边显示该行出现的次数。

-d 仅显示重复出现的行列。

-f 忽略指定的行嘞。

-s 忽略指定字符。

-u仅显示出一次的行列。

-w 制定要比较的字符串。

输入文件 制定一排序好的文本文件,如不指定此项从标准读取数据;

输出文件 指定输出文件,不指定则从终端输出


sort 用于将文本内容加以排序。(可针对文本内容,以行为单位排序的)

-b 忽略每行前面开始的空白字符串。

-c 检查文件是否已将按顺序。

-d 拍素食处理英文字母数字及空格字符外,忽略其他第字符

-f 排序时,将小写视为大写

-i 排序时, 出了040 到176之间的ASC||字符外忽略其他的字符

-m 将几个排序好的文件进行合并。

-M 将前面3个字母依照月份的缩写进行排序

-n 依照数值的大小排序

-u 意味着是唯一的。输出的结果是去完重的。

-o 将排列后的结果输出指定文件。

-r 以相反的的顺序来排序。

-t 指定排序时所用的栏位分隔符。

+<起始栏位符>-<结束栏位符> 以指定栏位来排序,范围由起始栏位到结束栏位的前一栏位


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值