linux下截取命令都有哪些,用法是什么?

Admin 2021-11-23 群英技术资讯 544 次浏览

    这篇文章我们来了解linux下的截取命令,linux截取命令有cut命令、printf命令、awk命令和sed命令,那么具体如何使用呢?下文有很详细的介绍,感兴趣的朋友可以了解看看,那么接下来就跟随小编来一起了解看看吧!

linux截取命令是:

一、cut命令

  cut: 按照字表符或者指定分隔符截取字符串

  -d 指定分隔符

  -f 指定截取的列,多个列之间用“,”分隔

  示例:

cut  -d  ":" -f1,3   /etc/passwd

二、print和printf命令

  命令格式:printf "输出格式输出类型" “输出内容”

printf: 输出指定的内容,通常与awk命令连用

  • %ns 表示输出字符串类型的个数

  • %ni 表示输出整数类型的个数

  • %m.nf 表示输出浮点数类型

print: 与printf一样,但是在输出字符串时会自动换行

  示例:

printf  "%s\t%s\t%s\t\n"   1 2 3

三、awk命令

  awk:可以按空格截取字符串

  命令格式:awk '{条件1}{动作1}{条件2}{动作2}'

  • BEGIN 在截取之前处理

  • END 在截取之后处理

  • FS 指定分隔符

  示例:

df -h | grep vda1 | awk '{printf $1 "\t" $5}' |cut -d "%" -f1     # 使用awk统计根分区的使用率
awk 'BEGIN{print "开始统计三班的成绩"}END{print "成绩统计结束"}{print  $2 "\t" $5}'   student.txt    # 统计学生的成绩
cat  /etc/passwd | grep  /bin/bash | grep  -v root | awk 'BEGIN{FS=":"}{print $1 "\t" $5}'     # 查找系统中的普通用户

四、sed命令

  1、命令格式:sed [选项] ‘[动作]’

  sed: 将其他命令的输出作为输出的流编辑器

  -n 只输出sed命令编辑过的信息

  -e 多个命令一起操作,多个操作之间用“;”隔开

  -i 保存修改后的内容到原文件

 2、动作命令包括

  • a 在指定行后面追加指定字符串

  • i 在指定行前面插入指定字符串

  • d 删除指定行

  • c 按行替换

  • s 按字符串替换 格式为:/s/新字符串/旧字符串/g

  • p 打印行

  示例:

              sed  '2p'  ./sugar/student.txt    # 打印student.txt的第二行
           sed  '2a hahaha' student.txt   # 在student.txt文件的第二行后面追加字符串hahaha
         sed  '2i  hahaha\xixixi'  student.txt   # 在student.txt文件第二行前插入hahaha和xixixi
         sed  ‘2,4d’   student.txt    # 删除student.txt文件的第二行到第四行
         sed  '2c  no such man' student.txt   # 将student.txt的第二行替换为no such man 
         sed '2s/HubuSugar/igoodful/g'  student.txt  # 将student.txt文件的HubuSugar替换成igoodful
         sed  -e '2d;3c no such man'  student.txt    # 删除student.txt文件的第二行,同时将第三行替换为no such man

    以上就是linux截取命令的相关介绍啦,希望大家阅读完这篇文章能有所收获。最后,如果还想要了解更多Linux命令,大家可以继续浏览群英网络其他相关的文章。

文本转载自PHP中文网

群英智防CDN,智能加速解决方案
标签: linux截取命令

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服