zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SHELL基础工具

2023-02-26 12:28:13 时间

[toc]

一、文本处理工具

1.grep行过滤工具

语法:
`grep ‘关键字’ filename
options:

(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>

-i #不区分大小写 -v #取反 -w #按单词搜索 -o #打印匹配关键字 -c #统计匹配到的行数 -n #显示原行号 -r #层级遍历目录查找 -A #显示匹配行及后面多少行 -B #显示匹配行及前面多少行 -C #显示匹配行前后多少行 -l #只列出匹配的文件名 -L #列出不匹配的文件名 -e #使用正则匹配 -E #使用扩展正则匹配 ^  #以关键字开头 $  #以关键字结尾 ^$ #匹配空行 --color=auto #关键字加上颜色

别名设置颜色显示

#临时设置 alias grep='grep --color=auto'  #永久设置 #全局: vim /etc/bashrc alias grep='grep --color=auto' #source /etc/bashrc  #局部: vim ~/.bashrc alias grep='grep --color=auto' #source ~/.bashrc

2.cut列截取工具

语法:
cut <option> filename
options:

-c #以字符为单位进行分割 -d #自定义分隔符,默认为制表符t -f #与-d一起使用,指定截取哪个区域

例子:

cut -d: -f1 1.txt      #以冒号为分隔符,截取第一列内容 cut -d: -f1,3,5    1.txt  #以冒号为分隔符,截取1,3,5列内容 cut -c1-5 1.txt           #截取文件中每行的1-5个字符 cut -c5- 1.txt            #截取第五个字符后面所有字符

例题:
用cut或grep过滤出当前系统的运行级别”runlevel”

runlevel | cut -d '' -f2  runlevel | cut -d ' ' -f2  grep -v '^#' /etc/inittab |cut -d: -f2  grep "initdefault:$" /etc/inittab|cut -c4

3.sort工具

sort工具用于排列,它将文件的每一行作为一个单位,从首字符向后,依次按ascii码进行比较,最后按升序输出

options:

-u #去除重复行 -r #降序排列 -o #将排列结果输出到文件,类似重定向> -n #以数字排序,默认是按字符排序 -t #分隔符 -k #第N列 -b #忽略前导空格 -R #随机排序,每次运行的结果均不同

例子:

#按照用户的uid进行升序排列 sort -n -t: -k3 /etc/passwd  #按照用户的uid进行降序排列 sort -rn -t: -k3 /etc/passwd  #按照用户的uid进行降序排列并将结果输出到1.txt中 sort -rn -t: -k3 /etc/passwd -o 1.txt

4.uniq工具-去除连续的重复行

options:

-i #忽略大小写 -c #统计重复行此时 -d #只显示重复行

例子:

uniq -c 1.txt         2 hello world       1 HELLO world       1 hello WORLD uniq -ci 1.txt        4 hello world

5.tee工具–从标准输入读取并写入标准输出和文件

options:

-a #双向追加重定向

例子:

[[email protected] ~]$ echo hello world|tee 1.txt     hello world [[email protected] ~]$ cat 1.txt  hello world [[email protected] ~]$ echo hello world|tee -a 1.txt  hello world [[email protected] ~]$ cat 1.txt                      hello world hello world

6.diff工具-逐行比较文件的不同

#diff描述两个文件不同的方式是告诉我们“怎样改变第一个文件之后,与第二个文件匹配”
语法:
diff <option> file1 file2
options:

-b #不检查空格 -B #不检查空白行 -i #不检查大小写 -w #忽略所有的空格 --normal #正常格式显示 -c #上下文格式显示 -u #合并格式显示

例子:
#比较两个普通文件的异同

#文件准备 [[email protected] ~]$ cat file1 hello world 123456 123123 aaa [[email protected] ~]$ cat file2 HELLO WOLRD AAA 123123 12345 bbb

(1)正常显示

diff file1 file2 #diff(目的) file1 {如何改变才能和} file2 {匹配}

(2)上下文格式显示

#前两行主要列出需要比较的文件名和文件的时间戳

SHELL基础工具


本站部分内容转载自网络,版权属于原作者所有,如有异议请联系QQ153890879修改或删除,谢谢!
转载请注明原文链接:SHELL基础工具

你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:

1、点击这里立即申请成为腾讯云VIP客户

2、点击这里立即注册成为天翼云VIP客户

3、点击这里立即申请成为华为云VIP客户

4、点击这里立享阿里云产品终身VIP优惠价

喜欢 (0)
[[email protected]]
分享 (0)