1.1 查看文本文件内容  cat

1.1.1 cat可以查看文本内容

  

cat [OPTION]... [FILE]...

常见选项

-E:    显示行结束符$
-A: 显示所有控制符
-n: 对显示出的每一行进行编号
-b: 非空行编号
-s: 压缩连续的空行成一行

1.1.2  nl

显示行号,相当于cat  -b

[10:00:37 root@centos8 ~]#nl /etc/fstab 

     1    #
2 # /etc/fstab
3 # Created by anaconda on Tue Apr 5 08:42:34 2022
4 #
5 # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
6 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
7 #
8 # After editing this file, run 'systemctl daemon-reload' to update systemd
9 # units generated from this file.
10 #
11 UUID=7a405199-a904-4290-89a3-72992b4ad489 / xfs defaults 0 0
12 UUID=6c58d4aa-0c80-4e0b-b372-0a2187033d23 /boot ext4 defaults 1 2
13 UUID=2dd6f870-9df8-47ec-a4fc-b8a01878f4e0 /data xfs defaults 0 0
14 UUID=27f69466-124d-4124-aab8-85f247d76d57 none swap defaults 0 0
[10:00:46 root@centos8 ~]#cat -b /etc/fstab 1 #
2 # /etc/fstab
3 # Created by anaconda on Tue Apr 5 08:42:34 2022
4 #
5 # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
6 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
7 #
8 # After editing this file, run 'systemctl daemon-reload' to update systemd
9 # units generated from this file.
10 #
11 UUID=7a405199-a904-4290-89a3-72992b4ad489 / xfs defaults 0 0
12 UUID=6c58d4aa-0c80-4e0b-b372-0a2187033d23 /boot ext4 defaults 1 2
13 UUID=2dd6f870-9df8-47ec-a4fc-b8a01878f4e0 /data xfs defaults 0 0
14 UUID=27f69466-124d-4124-aab8-85f247d76d57 none swap defaults 0 0
[10:01:14 root@centos8 ~]#

1.1.3  tac

逆向显示文本内容

[10:03:11 root@centos8 ~]#nl /etc/fstab|tac
14 UUID=27f69466-124d-4124-aab8-85f247d76d57 none swap defaults 0 0
13 UUID=2dd6f870-9df8-47ec-a4fc-b8a01878f4e0 /data xfs defaults 0 0
12 UUID=6c58d4aa-0c80-4e0b-b372-0a2187033d23 /boot ext4 defaults 1 2
11 UUID=7a405199-a904-4290-89a3-72992b4ad489 / xfs defaults 0 0
10 #
9 # units generated from this file.
8 # After editing this file, run 'systemctl daemon-reload' to update systemd
7 #
6 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
5 # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
4 #
3 # Created by anaconda on Tue Apr 5 08:42:34 2022
2 # /etc/fstab
1 # [10:03:56 root@centos8 ~]#

1.1.4  rev

将同一行的内容逆向显示

[10:06:10 root@centos8 /data]#cat f1.txt
1 2 3 4 5 6 7 a b c d e f g
[10:06:22 root@centos8 /data]#cat f1.txt |rev
7 6 5 4 3 2 1 g f e d c b a

1.2  按列抽取文本cut

  cut 命令可以提取文本文件或STDIN数据的指定列

  格式

cut [OPTION]... [FILE]...

常用选项

-d DELIMITER: 指明分隔符,默认tab

-f FILEDS:
#: 第#个字段,例如:3
#,#[,#]:离散的多个字段,例如:1,3,6
#-#:连续的多个字段, 例如:1-6
混合使用:1-3,7 -c 按字符切割 --output-delimiter=STRING指定输出分隔符

示例:

passwd文件取出第一列用户名

[10:11:47 root@centos8 /data]#cut -d":" -f1 /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
dbus
systemd-coredump
systemd-resolve
tss
polkitd
geoclue

[10:17:11 root@centos8 /data]#ifconfig | head -n2| tail -n1 |tr -s " "|cut -d" " -f3
192.168.1.85
[10:17:39 root@centos8 /data]#

1.3 合并多个文件paste

  paste合并多个问价你同行号的列到一行

  格式 

paste [OPTION]... [FILE]...

常用选项

-d  #分隔符:指定分隔符,默认用TAB
-s #所有行合成一行显示

示例:

[10:28:27 root@centos8 /data]#paste  f1.txt
1 2 3 4 5 6 7 a b c d e f g
[10:28:34 root@centos8 /data]#paste -s f1.txt
1 2 3 4 5 6 7 a b c d e f g
[10:28:43 root@centos8 /data]#
[10:33:32 root@centos8 /data]#paste  f1.txt seq.log
1 2 3 4 5 6 7 1
2
a b c d e f g 3
4
5
6
7
8
9
10
[10:33:55 root@centos8 /data]#paste -d";" f1.txt seq.log
1 2 3 4 5 6 7 ;1
;2
a b c d e f g;3
;4
;5
;6
;7
;8
;9
;10

2.1分析文本的工具

  2.1.1  wc

  wc命令可用于统计文件的行总数,单词总数,字节总数和字符总数

  可以对文件或STDIN中的数据统计

  常用选项

-l       只计数行数
-w 只计数单词总数
-c 只计数字节总数
-m 只计数字符总数
-L 显示文件中最长行的长度

示例

[10:34:04 root@centos8 /data]#wc /etc/fstab
15   78   709   /etc/fstab
行数 单词数 字节数

  2.1.2  sort

  sort:文本排序;把整理过的文本显示在STDOUT,不改变原始文件

  格式:

  

sort [options] file(s)

常用选项

-r          执行反方向(由上至下)整理
-R 随机排序
-n 执行按数字大小整理
-h 人类可读排序,如: 2K 1G
-f 选项忽略(fold)字符串中的字符大小写
-u 选项(独特,unique),合并重复项,即去重
-t c 选项使用c做为字段界定符
-k # 选项按照使用c字符分隔的 # 列来整理能够使用多次
默认是把相同的字符排序在一起

[10:48:15 root@centos8 /data]#cat seq.log
1
2
3
4
5
6
7
8
9
1
10
11
2
12
8
13
9
14
15
[10:48:21 root@centos8 /data]#cat seq.log |sort
1
1
10
11
12
13
14
15
2
2
3
4
5
6
7
8
8
9
9
[10:49:44 root@centos8 /data]#cat seq.log |sort -u
1
10
11
12
13
14
15
2
3
4
5
6
7
8
9

  2.1.3  uniq

  uniq命令从输入中删除前后相接的重复的行

  格式:

uniq [OPTION]... [FILE]...

常见选项

-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行 uniq常和sort 命令一起配合使用:

  示例:

[10:50:10 root@centos8 /data]#cat seq.log |sort | uniq -c
2 1
1 10
1 11
1 12
1 13
1 14
1 15
2 2
1 3
1 4
1 5
1 6
1 7
2 8
2 9

作业练习

6、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来

7、查出用户UID最大值的用户名、UID及shell类型

练习脚本写法

[14:48:51 root@centos8 /data/bashs]#cat user.sh
#!/bin/bash
cat /etc/passwd |cut -d":" -f3|sort -nr|head -1 > /dev/null
maxUID=`grep 65534 /etc/passwd | cut -d":" -f1,3,7`
echo "UID最大值的用户:$maxUID"
[14:52:53 root@centos8 /data/bashs]#bash user.sh
UID最大值的用户:nobody:65534:/sbin/nologin

8、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序

Linux文本工具-cat-cut-paste;文本分析-sort-wc-uniq的更多相关文章

  1. centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课

    centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件 ...

  2. Linux小工具的应用,grep,sort,wc,cut

    小工具的使用: 1.管道(|):连接多个命令的工具,进程之间通讯的一种方式 用法:命令1 | 命令2 | 命令3....2.grep工具:行过滤,打印出的结果一行一行的 用法:grep options ...

  3. Linux基础篇,文本数据的比较与排序:sort、uniq、comm、diff

    一.sort sort命令用于将文本文件内容以行排序 sort [选项参数] [-o<输出文件>] [-t<分隔字符>] [+<起始栏位> -<结束栏位> ...

  4. Linux性能测试工具-UnixBench--安装以及结果分析

    参考链接:http://blog.csdn.net/gatieme/article/details/50912910 依赖包安装:      yum install -y SDL-devel mesa ...

  5. 转-Shell笔记——命令:Sort,uniq,join,cut,paste,split

    转自:http://blog.csdn.net/wklken/article/details/6562098 Sort,uniq,join,cut,paste,split 命令—— Sort Sort ...

  6. linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解

    一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...

  7. Linux Shell 文本处理工具集锦--Awk―sed―cut(row-based, column-based),find、grep、xargs、sort、uniq、tr、cut、paste、wc

    本文将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实用的: ...

  8. 文本处理工具(cut,sort,tr,grep等)

    命令目录,查看某一个命令可点击直接跳转: 文件查看 cat tac rev more less 按行截取 head tail 转化内容 tr 按列操作 cut paste 分析文本 wc sort u ...

  9. 详解Linux中的cat文本输出命令用法

    作系统 > LINUX >   详解Linux中的cat文本输出命令用法 Linux命令手册   发布时间:2016-01-14 14:14:35   作者:张映    我要评论   这篇 ...

随机推荐

  1. JDBC中大数据量的分页解决方法?

    最好的办法是利用sql语句进行分页,这样每次查询出的结果集中就只包含某页的数据内容. sql语句分页,不同的数据库下的分页方案各不一样,下面是主流的三种数据库的分页sql: oracle: selec ...

  2. MySQL 面试题MySQL 中有哪几种锁?

    1.表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最 高,并发度最低. 2.行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最 低,并发度也最高. 3.页面锁:开 ...

  3. python 装饰器函数基础知识

    1.装饰器的本质--一个闭包函数 2.装饰器的功能--在不改变原函数及其调用方式情况下对原函数功能进行拓展 3.带参数和返回值的装饰器 def timer(func): @wraps(func) #使 ...

  4. Java并发机制(6)--阻塞队列

    Java并发编程:阻塞队列整理自:博客园-海子-http://www.cnblogs.com/dolphin0520/p/3933404.html 1.什么是阻塞队列 除了同步容器(Hashtable ...

  5. mq 的缺点?

    (1)系统可用性降低 系统引入的外部依赖越多,越容易挂掉,本来你就是 A 系统调用 BCD 三个系统的接口就好了,人 ABCD 四个系统好好的,没啥问题,你偏加个 MQ 进来,万一MQ 挂了咋整?MQ ...

  6. MariaDB ZIP方式安装(Window系统)

    Maria DB ZIP方式安装 Windows上ZIP包的入门非常简单-此发行版包括预构建的数据库文件,这些文件可以在解压缩ZIP后立即使用. 您可以从命令提示符运行mysqld.exe,如下所示: ...

  7. NULL 是什么意思 ?

    NULL 这个值表示 UNKNOWN(未知):它不表示""(空字符串).对 NULL 这 个值的任何比较都会生产一个 NULL 值.您不能把任何值与一个 NULL 值进行比 较,并 ...

  8. 原来 flexbox 是这么工作的

    Flexbox 是一种 CSS 布局机制,可以说是目前浏览器原生支持的最好.使用最广泛的布局机制了.本文通过一些例子来说明 Flexbox 布局的工作原理,可以让我们更好的使用 Flexbox. 与 ...

  9. 基于React的仿QQ音乐(移动端)

    前言 由于这段时间工作上也是挺忙的,就没有时间去写这个项目,中间一直都是写写停停,进度也是非常慢的.正好前几天都还比较空,就赶紧抓着空闲时间去写这个项目,最后紧赶慢赶地完成了.本项目采用了React的 ...

  10. Vue小说阅读器(仿追书神器)

    一个vue阅读器项目,目前已升级到2.0,阅读器支持横向分页并滑动翻页(没有动画,需要动画的可以自己设置,增加transitionDuration即可) 技术栈 vue全家桶+mint-ui gith ...