cut

cut - 在文件的每一行中提取片断

说明:默认分隔符是制表符

cut [选项参数] filename-f 提取通过分割符分割之后的第几列,与-d一起使用-d 分隔符,按照指定分隔符分割列,默认是制表符“\t”-c 按字符进行切割。多用于汉字。用在英文上跟-b没有什么区别-b 按字节进行切割-s 不包括那些不含分隔符的行,只与-f参数一起使用

awt

awk [选项参数] ‘/pattern1/{action1} /pattern2/{action2}...’ filenamepattern:表示 awk 在数据中查找的内容,就是匹配模式(正则)action:在找到匹配内容时所执行的一系列命令print 输出示例:'BEGIN{print "user, shell"} {print $1","$7}END{print "dahaige,/bin/zuishuai"}'-F 指定输入文件分隔符-v 赋值一个用户定义变量i=1示例:'{print $3+i}'
内置变量FILENAME 文件名NR 已读的记录数(行号)NF 浏览记录的域的个数(切割后,列的个数)

案例实操

1 环境准备

cut.txt

shen zhen
jie yang
guang zhou
dong guan
mao ming
hua zhou
hui zhou

passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

脚本文件:demo5

#!/bin/bash
echo "====================================cut=========================================="
echo "==========================cut.txt文件内容=================="
cat /root/桌面/cut.txt
echo "=======================1)切割cut.txt第一列================="
cut -f 1 -d " " cut.txt
echo "=====================2) 切割cut.txt第二,三列================"
cut -f 2,3 -d " " cut.txt
echo "====================3) 在cut.txt文件中切割出guang================="
cut -f 1 -d " " cut.txt | grep guang
echo "=============4)选取系统PATH变量值,第2个":"开始后的所有路径:========"
echo $PATH | cut -d ":" -f 3-
echo "=================5)切割ifconfig后打印的ip地质================"
ifconfig ens33 | grep netmask | cut -f 10 -d " "
echo " "
echo " "
echo " "
echo "====================================awk==============================================="
echo "1)搜索passwd文件以root关键字开头的所有行,并输出该行的第7列"
awk -F : '/^root/{print $7}' passwd
echo "2) 搜索passwd文件以root关键字开头的所有行,并输出该行的第1列和第7列,中间以“,”分割"
awk -F : '/^root/{print $1","$7}' passwd
echo "3) 只显示/etc/passwd的第一列和第七列,以逗号分割,且在所有行前面添加列名user,shell。在最后一行添加“lzw,/bin/zuishuai"
awk -F : 'BEGIN{print "user  shell"}{print $1","$7}END{print "lzw,/bin/zuishuai"}' passwd
echo "4) 将passwd文件中的用户id增加数值1并输出"
awk -F : -v i=1 '{print $3+i}' passwd
echo " "
echo " "
echo " "
echo "====================================awk内置变量=============================="
echo "===============1)统计passwd文件名,每行的行号,每行的列数============="
awk -F : '{print "文件名:"FILENAME"行号:"NR"列数"NF}' passwd
echo "===============2) 查询ifconfig命令输出结果中的空行所在的行号==========="
ifconfig | awk '/^$/{print NR}'
echo "===============3) 切割IP=============================================="
ifconfig ens33 | grep netmask | awk -F " " '{print $6}'

2 结果

[root@demo01 桌面]# sh demo5
====================================cut==========================================
==========================cut.txt文件内容==================
shen zhen
jie yang
guang zhou
dong guan
mao ming
hua zhou
hui zhou
=======================1)切割cut.txt第一列=================
shen
jie
guang
dong
mao
hua
hui
=====================2) 切割cut.txt第二,三列================
zhen
yang
zhou
guan
ming
zhou
zhou
====================3) 在cut.txt文件中切割出guang=================
guang
=============4)选取系统PATH变量值,第2个:开始后的所有路径:========
/usr/bin:/usr/sbin:/bin:/sbin:/root/bin
=================5)切割ifconfig后打印的ip地质================
192.168.100.101====================================awk===============================================
1)搜索passwd文件以root关键字开头的所有行,并输出该行的第7列
/bin/bash
2) 搜索passwd文件以root关键字开头的所有行,并输出该行的第1列和第7列,中间以“,”分割
root,/bin/bash
3) 只显示/etc/passwd的第一列和第七列,以逗号分割,且在所有行前面添加列名user,shell。在最后一行添加“lzw,/bin/zuishuai
user  shell
root,/bin/bash
bin,/sbin/nologin
daemon,/sbin/nologin
adm,/sbin/nologin
lp,/sbin/nologin
sync,/bin/sync
shutdown,/sbin/shutdown
halt,/sbin/halt
lzw,/bin/zuishuai
4) 将passwd文件中的用户id增加数值1并输出
1
2
3
4
5
6
7
8====================================awk内置变量==============================
===============1)统计passwd文件名,每行的行号,每行的列数=============
文件名:passwd行号:1列数7
文件名:passwd行号:2列数7
文件名:passwd行号:3列数7
文件名:passwd行号:4列数7
文件名:passwd行号:5列数7
文件名:passwd行号:6列数7
文件名:passwd行号:7列数7
文件名:passwd行号:8列数7
===============2) 查询ifconfig命令输出结果中的空行所在的行号===========
9
18
26
===============3) 切割IP==============================================
192.168.100.255
[root@demo01 桌面]# 

【Linux】文本处理工具实操:cut、awt相关推荐

  1. redhat linux 文本处理工具笔记

    Linux文本处理工具:     文本搜索 globbing:             *:p*d /etc/passwd: root grep, egrep, fgrep Global search ...

  2. linux的locate工具,linux文本查找工具之locate、find

    linux文本查找工具之locate.find 一.文件查找分为两类: 1.非实时查找:locate 2.实时查找:find 二.非实时查找:locate 非实时查找:查找速度快.非精准查找.模糊查找 ...

  3. Linux安装 Oracle 19C 实操

    Linux安装 Oracle 19C 实操 Linux命令: 1.查看硬盘信息,找一个最大的磁盘安装. [root@localhost home]#df -h 2.查看所有磁盘信息包括未加载磁盘 [r ...

  4. Linux文本编译工具VIM详解

    Linux文本编译工具VIM详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.VIM概述 1>.vim简介 1>.vi: 全称Visual editor,即文本编 ...

  5. linux系统安装python环境 实操

    linux系统安装python环境 实操 安装conda,其作用是充当一个管理平台,给予python运行的基本环境,可管理多个虚拟环境 查看电脑系统版本: uname -a 清华镜像站下载安装包,一般 ...

  6. Linux文本处理工具和正则表达式

    成功不易,加倍努力! 1 文本编辑工具之神VIM 1.1命令或普通(Normal)模式的基本命令 1.2 插入(Insert)或编辑模式的基本命令 1.3 扩展命令模式基本命令 1.4 vim的寄存器 ...

  7. Elasticsearch Linux学习结合SpringBoot实操

    1.Elasticsearch 简介 Elaticsearch,简称为ES,ES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储.检索数据:本身扩展性很好,可以扩展到上百台服务器,处理 P ...

  8. linux文本处理工具之grep与正则表达式语法

    Grep 介绍 Linux 文本处理三剑客之一,文件过滤工具(另外两剑客为sed:文本编辑工具,awk:文本报告生成器) 拥有着,根据用户指定的"模式"对目标文本逐行进行匹配检查: ...

  9. linux文本分析工具awk解读

    awk是一个强大的文本分析工具,相对于grep的查找.sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.awk把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. ...

最新文章

  1. Redis实现分布式锁的深入探究
  2. mysql dsn 连接_各种数据库的连接串(总结DSN的使用方法)
  3. animate css3 应用的借鉴,一个同事写的JS
  4. 深度学习笔记-卷积神经网络CNN与循环神经网络RNN有什么区别?
  5. 6.HBase时髦谨慎财会会计
  6. jQuery操作radio、checkbox、select总结
  7. ConfigParser.InterpolationSyntaxError: ‘%‘ must be followed by ‘%‘ or ‘(‘, found: “%‘“
  8. pythoncad图纸文件管理系统为用户_SafeShare通用CAD图纸文件管理软件6用户免费使用版...
  9. Quartus17下使用Modelsim10进行仿真
  10. winform对话框控件、打印控件
  11. OpenGL的安装(GLFW+GLAD)
  12. 【NVIDIA】显卡报错:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver
  13. 跑跑卡丁车rush服务器维护,跑跑卡丁车rush+操作技巧 跑跑卡丁车rush+基础设定
  14. 【Tools】位、字节、机器字、储存单元、主存等概念剖析
  15. [Win32] 窗体暗色模式, C++, WinForm, WPF 使用方法, 判断颜色模式, 响应颜色变更消息, 设置标题栏暗色.
  16. [H264编解码参数] SPS
  17. 会员卡应用管理系统源码 支持收银+积分管理+商城营销功能 含详细搭建教程
  18. Hexo Next为每篇文章设置自定义的banner图片
  19. FFmpeg合并音频文件和视频文件
  20. Centos--时间/日历/计算器

热门文章

  1. Oracle之常用sql
  2. java 中什么是aop
  3. linux防火墙(四)—— SNET和DNET原理及应用
  4. android底层开发记录(一)
  5. 失业潮中不得不看CSS知识点(巨详细)
  6. 浅谈2D游戏设计模式2- WZ文件详解(UI.WZ)之MapLogin.img(1)
  7. ToG产品_产品发布说明书框架_2019_005
  8. 关于python的指针(演示)
  9. kibana 7.5.1 + metricbeat 7.5.1实现主机和kafka应用指标监控
  10. [转]Skynet之斗转星移 - 将控制权交给Lua