bin转txt工具_Shell笔记之常用工具

在实际的开发过程中,尤其是在线上运维的时候,会经常使用到一些Linux命令,以及一些自动化运维的脚本,下面总结一些经常用到的命令,分享给大家:

003d817b572a1d803cc938bd09fab2c7.png

1.cut

在文件中负责剪切数据用。cut命令从文件中的每一行剪切字节、字符和字段并将这些字节、字符和字段输出

基本用法:

cut [选项参数] filename

说明:

默认分隔符是制表符

选项参数说明:

-f 列号,提取第几列-d分隔符,按照指定分隔符分隔列

例子:

  • cut -d " " -f 1 cut.txt根据空格切割 cut.txt 文件的第一列
  • cut -d " " -f 1,2 cut.txt根据空格切割cut.txt文件的第一、二列
  • 切割文件中的某个关键字:cat cut.txt | grep "hello" | cut -d " " -f 1注意:第一个是cat不是cut,意思是截取cut.txt文件中hello的字段 然后根据空格截取第一列
  • 截取系统PATH变量值,第2个“:”开始后的所有路径测试数据:/Users/zhangs/Project/Java/apache-maven-3.3.9/bin:/Users/zhangs/Project/Java/jdk1.8.0_192.jdk/Contents/Home/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbinecho $PATH | cut -d : -f 3-注意:3之后还有一个【-】,代表第二个“:”号之后所有的路径,如果不带【-】,只剪出第3列的内容

带【-】结果:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

不带【-】结果:/usr/local/bin

2.sed

一种流编辑器,一次处理一行内容,处理时,把当前处理行的内容存储在临时缓冲区,即,模式空间,接着用sed命令处理缓冲区中的内容,处理完成后把缓冲区的内容推送到屏幕。接着处理下一行数据,以此往复,直到文件末尾。文件内容不会改变。

基本用法:

sed[选项参数] ‘command’ filename

选项参数:

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

命令功能描述:a: 新增,a的后面可以接字符串,在下一行出现d: 删除s: 查找并替换

例子:

sed "2a mei nv" sed.txt // 将mei nv插入到sed.txt的第二行下面,只是打印上会加入一行mei nv,但是原来的set.txt通过vim命令查看的话并没有新增一行记录,还是之前的记录

sed "/wo/d" sed.txt //删除所有wo的记录,同样,只是会在打印上删除原来的wo,并不会真正的修改原来的文件

sed "s/wo/ni/g" set.txt //查找所有的wo,将wo替换成ni。g代表全局的意思,如果不加g,则代表只替换第一个wo.同样不会修改原文件sed.txt中的内容

sed -e "2d" -e "s/wo/ni/g" set.txt //删除sed.txt文件中的第二行,并将wo替换为ni

3.awk

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

基本用法:

awk[选项参数] 'pattern1 {action1} pattern2{action2} ……' filename

说明:

pattern: 表示AWK在数据中查找的内容,就是匹配模式action: 对找到的内容进行的一系列命令

选项参数:-F:指定输入文件分隔符-v:赋值一个用户定义变量

举例:数据: root:x:0:0:root:/root:/bin/bash文件: awk.txt

要求1: 找出awk文件中以root开头的所有行,并输出第七列命令1: awk -F : '/^root/ {print $7}' awk.txt

要求2:找出awk文件中以root开头的所有行,并输出第一列和第七列,中间以逗号分隔命令2: awk -F : '/^root/ {print "," 7}' awk.txt

要求3: 查处awk文件中所有空行所在的行号命令3: awk '/^$/ {print NR}' awk.txt

要求4:有如下格式的文件:zhangsan 50lisi 60wangwu 40求出第二列的和并输出

命令4:cat interview.txt | awk -F " " '{sum += $2} END{print sum}'

4.sort

将文件进行排序

基本语法:

sort(选项)(参数)

选项:

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

举例:有如下格式数据:bb:40:5.4bd:20:4.2xz:50:2.3cls:10:3.5ss:30:1.6

要求:按照“:”分隔,并按照第二列进行倒排命令: sort -t : -nrk 2 sort.sh

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值