文本处理命令

RHCSA


前言

RHCSA第四天文本处理命令


cut 文本切割显示

cat /etc/passwd(用户配置文件,记录当前系统有哪些用户)

cut
-d 指定分隔符
-f 指定第几列被切割文件
-c 1-4 指定1到4个字符

指定分隔符时,空格需要用单引号或双引号引起来

[root@ZYBcomputer ~]# cut -d : -f 1-3 /etc/passwd
在这里插入图片描述
[root@ZYBcomputer ~]# cut -d : -f 1,3 /etc/passwd

在这里插入图片描述

[root@ZYBcomputer ~]# cut -c 1-3 /etc/passwd

在这里插入图片描述

将 指定字符(:) 改为(@)输出

[root@ZYBcomputer test]# cut -d : -f 3,4 --output-delimiter=@ /etc/passwd

在这里插入图片描述

echo 回声 标准输入输出命令

echo
在这里插入图片描述
echo $ 引用变量(变量——可以命名的内存空间)
显示变量的值

在这里插入图片描述
显示当前系统环境变量(echo $PATH)

在这里插入图片描述
一些特殊用法

“”——弱引用

‘’——强引用
在这里插入图片描述

反引号(` ) 或 echo $(命令信息) ——将中间的字符当命令来运行

在这里插入图片描述

在这里插入图片描述

echo $? 显示退出码

在这里插入图片描述

管道符

| 管道符 (将前面的命令输出作为管道后面命令的输入)
在这里插入图片描述

| tree T型管道可以将前面的命令的标准输出重定向到指定文本文件并将结果输出

在这里插入图片描述
横向输入文件,竖向从终端输出显示
在这里插入图片描述

输入/输出重定向

重定向操作符

“>” “>>” “<” “<<”

在Linux中

默认输入设备是键盘

默认的输出设备是屏幕

重定向操作符可以将命令的输入和输出数据流从默认设备重定向到其他位置。

重定向操作符本身不是一条命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。

“>” “>>” 为输出重定向操作符

“<” “<<”为输入重定向操作符

在这里插入图片描述
特殊应用

cat > catfile <<EOF

在这里插入图片描述

例子

输出重定向(覆盖)

[root@ZYBcomputer test]# date | > date.txt

在这里插入图片描述
输出重定向(追加)

[root@ZYBcomputer test]# date >> date.txt

在这里插入图片描述

文本排序显示,去重

sort

命令含义
-n按照数值由大到小排序
-r逆序排序
-f忽略字符大小写
-u去重

顺序显示:sort 文件名

在这里插入图片描述

按照数值大小显示:sort -n 文件名

在这里插入图片描述

排序并去掉重复的:sort -u 文件名

在这里插入图片描述

逆序排序:sort -r 文件名

在这里插入图片描述

将指定文件中的指定字符逆序排序(按照用户UID数字大小排序显示)

[root@ZYBcomputer test]# sort -t : -k 3 -nr /etc/passwd

在这里插入图片描述

uniq 文件名

去掉重复的行,重复的行必须相邻

在这里插入图片描述

命令含义
-d只显示重复的行
-D显示所有重复的行
-c显示重复行重复的次数

文本统计 wc --word count

显示文件行数、单词数、字节数和文件名:wc文件名

字节包括换行符和空格

[root@ZYBcomputer test]# wc file

在这里插入图片描述
在UTF-8编码格式中,显示时一个字符占一个字节,一个中文字符占3个字节

wc -w文件名 (只显示单词数)

wc -c 文件名 cut -c(字节数)

wc -l 文件名(行数)

wc -m 文件名(字符数)

wc -L 文件名(最长的一行的字符数)


统计当前系统用户,也就是/etc/passwd有多少行

在这里插入图片描述


在UTF-8编码格式中,显示时一个字符占一个字节,一个中文字符占3个字节

在这里插入图片描述

tr命令

用于转换或删除文件中的字符

tr指令从标准输入设备读取数据,经过字符串转义后,将结果输出到标准输出设备

tr [-cdst] [–help] [–version]

tr [OPTION] … SET1[SET2]

在这里插入图片描述


将文件testfile中的小写字母全部转换成大写字母

在这里插入图片描述


将磁盘使用情况中的容量一列显示出来

在这里插入图片描述

grep文本过滤显示

根据特定的字符串,对指定文件的每一行进行搜索,如果找到了这个字符串,就将含有这些内容的行输出

grep h文件名 -w -o -i -v ^行首 $行尾

命令详细
grep -w 文件名匹配整个单词
grep ^q 文件名以q开始的行
grep q$ 文件名以q结束的行
grep ^ [0-9] 文件名以数字开头的行
grep ^ [qf] 文件名以q或f开头的行
grep ^ [^qf] 文件名不匹配以q或f开头的行
grep [^qf]oo 文件名匹配oo前面不是f或g的字符串
grep ^# 文件名以#开头的行
grep ^$ 文件名过滤空白行
grep -i 文件名忽略大小写
grep -v 文件名搜索显示没有匹配到的行
grep -A 2文件名搜索显示匹配到那一行以及下两行
grep -B 2文件名搜索显示匹配到那一行以及上两行
grep -C 2文件名搜索显示匹配到那一行以及下下两行

[root@ZYBcomputer test]# grep root /etc/passwd

在这里插入图片描述
[root@ZYBcomputer test]# grep -o root /etc/passwd

显示指定关键字信息
在这里插入图片描述
[root@ZYBcomputer test]# grep -v root /etc/passwd

显示没有指定字的行
在这里插入图片描述
grep -i root /etc/passwd 忽略大小写

在这里插入图片描述
^$表示空白行

例子

在终端中显示当前系统时间,时间格式为月日时

[root@ZYBcomputer test]# date | cut -d " " -f 2,3,4

在这里插入图片描述

截取当前的日期的年月日显示在文件A.txt中

在这里插入图片描述

统计/etc/passwd一共有多少行但不显示后面的文件名

在这里插入图片描述

作业

1.将用户配置文件的3,4 字段分别截取出来写入文件UID和文件GIU
da'te

2…通过查看时间命分别将年月日时分写入A文件,将当前显示为星期几追加写入A文件。或者在屏幕上输出“the day is (星期几)”

在这里插入图片描述

3.创建目录/test/sysroot在该目录下创建三个文件a,b,c 之后再将sysroot目录移动到/tmp目录下改名为sys保证目录下三个文件也存在
在这里插入图片描述

4.删除 /tmp/sys/a 文件。

在这里插入图片描述

5.目录/tmp下创建4个目录,并在这四个目录下分别创建一个test目录
在这里插入图片描述

6.创建一个test目录,在该目录下创建一个文件,内容写 nano
在这里插入图片描述

7.在/dir下创建目录dir2和文件file1,移动文件file1到上面创建的test目录中,将目录dir2复制到test目录中
cp
在这里插入图片描述

在这里插入图片描述

总结

1、(按照用户UID数字大小排序显示)

[root@ZYBcomputer test]# sort -t : -k 3 -nr /etc/passwd

2、将 指定字符(:) 改为(@)输出

[root@ZYBcomputer test]# cut -d : -f 3,4 --output-delimiter=@ /etc/passwd

3、df -h 查询磁盘使用情况

4、tr -s 缩减连续重复的字符指定成单个字符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值