shell

删除变量:unset 变量名

定义只读变量:readonly 变量名

定义全局变量:GLOBAL_变量名


函数

read

read -t 等待时间 "提示语" 赋予给的变量名

如果没有-t会一直等下去

basename

basename [string /pathname][suffix]

basename命令会删掉所有的前缀包括最后一个('/')字符,然后将字符串显示出来,可以理解为只保留pathname

shuffix为后缀,如果shuffix被指定了,basename会将pathname或string中的shuffix去掉

dirname

dirname 文件绝对路径

从给定的包含绝对路径的文件名中取出文件名(非目录的部分),然后返回剩下的路径(目录的部分)


 shell工具(面试重点)

cut

cut -d "分隔符" -f 列号 文件

默认分隔符是制表符(TAB)

列号后加-能够取那一列(包括列号)后的所有列

sed

sed[选项参数] 'command' filename

选项参数:-e直接在指令列模式上进行sed的动作编辑

命令:

  • a 新增,a的后面可以接字串
  • d 删除
  • s 查找并替换

#在第二行加入mei nv字串 

sed "行号a 添加的字串" 文件

 

#将wo字串删除

sed "/要删除字段/d" 文件

 #将wo串替换为ni      g为全部的wo   不添加g只会替换一个

sed "s/被替换字串/新字串/g" 文件

#将sed.txt文件的第二行删除并将wo替换为ni 

sed -e "行号d" -e "s/被替换字串/新字串/g" 文件

awk 

把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理

awk[选项参数] 'pattern{action1} pattern{action2}...' filename

pattern:表示awk在数据中查找的内容,就是匹配模式

action:在找到匹配内容时所执行的一系列命令

选项参数:

  • -F指定输入文件拆分隔符
  • -v赋值一个用户定义变量

awk的内置变量

  • FILENAME文件名
  • NR已读的记录数(行号)
  • NF浏览记录的域的个数(切割后有几个列,总列数)

#搜索passwd文件以root关键字开头的所有行,并输出该行的第7列

awk -F 分隔符 '/正则表达式/行为' 文件

 #只显示/etc/passwd的第一列和第七列,以逗号分隔,且在所有行前面添加列名user,shell在最后一行添加"dahaige,/bin/zhuishuai"

awk -F : 'BEGIN{print "user,shell"} {print $1 $7} END{print "dahaige,bin/zhuishuai"}' passwd

awk -F 分隔符 'BEGIN{行为} {行为} END{行为}' 文件

#将passwd文件中的用户id增加数值1并输出

awk -F : -v i=1 '{print $3+i}' passwd

awk -F 分隔符 -v 定义变量 行为 文件

 #统计passwd文件名,每行的行号,每行的列数

awk -F : '{print FILENAME "," NR "," NF}' passwd

 sort

将文件排序,并将排序结果标准输出

sort(选项)(参数)

参数:

  • -n 按照数值的大小排序
  • -r 以相反的顺序来排序
  • -t 设置排序时所用的分隔字符
  • -k 指定需要排序的列

 #按照:分隔后的第三列倒序排序

sort -t : -nrk 2 sort.sh


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值