Shell常用文本编辑工具(1)

首先安利一下吴军老师的新书《格局》,吴军老师的每一本书真的都不错!书一到就立马打开读了起来,最喜欢其中一句:获得偶然的成功并不难,难的是逐渐让成功从偶然变成必然!加油!!

1、cut工具

cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。

1.1 基本用法

cut [选项参数]  filename

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

1.2 选项参数说明

cut选项参数
选项参数 功能
-f

列号,提取第几列

-d 分隔符,按照指定分隔符分割列

1.3 实例操作

a. 数据准备

[root@localhost xixi]# vim xixi.txt 
[root@localhost xixi]# cat xixi.txt 
good good study
day day up
好好 学习
天天 向上

b. 切割xixi.txt第一列

[root@localhost xixi]# cut -d " " -f 1 xixi.txt 
good
day
好好
天天

c. 切割xixi.txt第二、三列

[root@localhost xixi]# cut -d " " -f 2,3 xixi.txt 
good study
day up
学习
向上

d.从xixi.txt中切割出“向上”

[root@localhost xixi]# cat xixi.txt | grep 向上 | cut -d " " -f 2
向上

2 sed工具

sed是一种编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。

2.1 基本用法

sed [选项参数]  ‘command’  filename

2.2 选项参数说明

选项参数 功能
-e 直接在指令列模式上进行sed的动作编辑。
-i 查找替换并覆盖原文件

2.3 命令功能描述

命令 功能描述
a 新增,a的后面可以借字符串,在下一行出现
d 删除
s

查找并替换

2.4 实例操作

a.将“mei nv” 这个单词插入到xixi.txt第二行下

[root@localhost xixi]# sed '2a mei nv' xixi.txt 
good good study
day day up
mei nv
好好 学习
天天 向上

[root@localhost xixi]# cat xixi.txt 
good good study
day day up
好好 学习
天天 向上

#原文件并没有改变

b. 删除xixi.txt中带day的行

[root@localhost xixi]# sed '/day/d' xixi.txt 
good good study
好好 学习
天天 向上

c. 将xixi.txt中的day替换为love

[root@localhost xixi]# sed 's/day/love/g' xixi.txt 
good good study
love love up
好好 学习
天天 向上

#‘g’表示global,全部替换

d. 将xixi.txt中的第三行删除并将day替换为xixi,并覆盖原文件。

[root@localhost xixi]# sed -i  -e '3d' -e 's/day/xixi/g' xixi.txt   #原文件被重写
[root@localhost xixi]# cat xixi.txt 
good good study
xixi xixi up
天天 向上

 

你可能感兴趣的:(运维)