赵县住房和城乡建设局网站首页,做网站设计需要哪些软件,北京瑞浩信息管理咨询有限公司,外贸网站平台哪个好Grep工具的基本使用grep作用#xff1a;grep是行过滤工具#xff1b;用于根据关键字进行行过滤提示#xff1a;通过alias命令设置grep别名#xff0c;搜索参数时带颜色显示alias grepgrep colorauto 命令语法格式#xff1a;grep [选项] 参数 文件名grep命令选项#xff…Grep工具的基本使用grep作用grep是行过滤工具用于根据关键字进行行过滤提示通过alias命令设置grep别名搜索参数时带颜色显示alias grepgrep colorauto 命令语法格式grep [选项] 参数 文件名grep命令选项-n :显示行号-i忽略大小写^xxx:以xxx开头的格式xxx$:以xxx结尾的格式-v取反-B打印前几行-A打印后几行-C过滤上下文前几行后几行-w按单词搜索-o打印匹配关键字^$空行Cut工具的基本使用cut作用cut是列截取工具用于列的截取命令语法格式cut 选项 文件名cut命令选项 -c以字符为单位(个)分割截取-d自定义分隔符默认为制表符\t-f与-d一起使用指定截取哪个区域示例: 如何过滤和截取centos6系统运行级别runlevel | cut-c3
runlevel | cut-d: -f2
grep-v^# /etc/inittab | cut-d: -f2
grep^id /etc/inittab | cut-d: -f2
grepinitdefault:$ /etc/inittab | cut -c4
grep -v ^# /etc/inittab | cut -c4
grepid: /etc/inittab | cut-d: -f2
cut-d:-f2 /etc/inittab | grep-v ^#
cut-c4 /etc/inittab | tail -1
cut-d: -f2 /etc/inittab | tail -1Sort工具的基本使用sort作用sort工具用于排序它将文件的每一行作为一个单位从首字符向后依次按ASCII码值进行比较最后将它们按升序输出sort命令选项:-u:去除重复-r降序排列默认是升序-o将排序结果输出到文件这类似重定向符号-n以数字排序默认是按字符排序-t分隔符-k第N列-b忽略前导空格-R随机排列每次运行的结果均不同Uniq工具的基本使用uniq作用uniq用于去除连续的重复行uniq命令选项-i忽略大小写-c统计重复行次数-d只显示重复行Tee工具的基本使用tee作用tee工具是将数据输出显示屏幕一份然后再重定向输入到文件一份即屏幕输出|文本输入 tee命令选项-a:重定向追加数据Diff工具的基本使用diff作用diff工具用于逐行比较文件的不同注意diff描述两个文件不同的方式是告诉我们怎样改变第一个文件之后与第二个文件匹配。命令语法格式diff [选项] 文件1 文件2diff命令选项-b不检查空格-B不检查空白行-i不检查大小写-w忽略所有的空格--normal正常格式显示(默认)-c上下文格式显示-u合并格式显示举例说明比较两个普通文件异同文件准备[rootlocalhost~]# cat file1
aaaa
111
hello world
222
333
bbb
[rootlocalhost~]#
[rootlocalhost~]# cat file2
aaa
hello
111
222
bbb
333
world正常格式显示比较结果解释说明diff目的file1如何改变才能和file2匹配
[rootlocalhost~]# diff file1 file2
1c1,2 #第一个文件的第1行需要改变(cchange)才能和第二个文件的第1到2行匹配
aaaa #小于号表示左边文件(file1)文件内容
--- #---表示分隔符aaa #大于号表示右边文件(file2)文件内容hello
3d3 #第一个文件的第3行删除(ddelete)后才能和第二个文件的第3行匹配hello world
5d4 #第一个文件的第5行删除后才能和第二个文件的第4行匹配333
6a6,7 #第一个文件的第6行增加(aadd)内容后才能和第二个文件的第6到7行匹配333 #需要增加的内容在第二个文件里是333和worldworld上下文格式显示比较结果解释说明[rootlocalhost~]# diff -c file1 file
#前两行主要列出需要比较的文件名和文件的时间戳文件名前面的符号***表示file1---表示file2
*** file1 2022-01-2721:45:05.748650262 0800
--- file2 2022-01-2721:45:30.470646030 0800
*************** #我是分隔符
*** 1,6 **** #以***开头表示file1文件1,6表示1到6行
aaaa # !表示该行需要修改才能与第二个文件匹配111
- hello world # -表示需要删除该行才能与第二个文件匹配222
-333 # -表示需要删除该行才能与第二个文件匹配bbb
---1,7 --- # 以---开头表示file2文件1,7表示1到7行
aaa # 表示第一个文件需要修改才能与第二个文件匹配
hello # 表示第一个文件需要修改才能与第二个文件匹配111222bbb
333 # 表示第一个文件需要加上该行才能与第二个文件匹配world # 表示第一个文件需要加上该行才能与第二个文件匹配合并格式显示比较结果解释说明[rootlocalhost~]# diff -u file1 file2
#前两行主要列出需要比较的文件名和文件的时间戳文件名前面的符号---表示file1表示file2
--- file1 2022-01-2721:45:05.748650262 0800file2 2022-01-2721:45:30.470646030 0800-1,6 1,7
-aaaa
aaa
hello
111
-hello world
222
-333bbb
333
world比较两个目录不同#默认情况下也会比较两个目录里相同文件的内容
[rootlocalhost tmp]# diff dir1 dir2
diff dir1/file1 dir2/file1
0a1hello
only in dir1: file3
only in dir2: file1
#如果只需要比较两个目录里文件的不同不需要进一步比较文件内容需要加-q选项
[rootlocalhost tmp]# diff -q dir1 dir2
Files dir1/file1 and dir2/file1 differ
only in dir1: file3
only in dir2: file1diff其他小技巧有时我们需要以一个文件为标准去修改其他文件并且 修改的地方较多时我们可以通过打补丁的方式完成。1先找出文件不同然后输出到一个文件
[rootlocalhost ~]# diff -uN file1 file2 file.patch
-u:上下文模式
-N将不存在的文件当作空文件
2将不同内容打补丁到文件
[rootlocalhost ~]# patch file1.patch
patching file file1
3) 测试验证
[rootlocalhost ~]# diff file1 file2
[rootlocalhost ~]#Paste工具的基本使用paste作用paste工具用于合并文件行paste命令选项-d自定义间隔符默认是tab-s串行处理非并行Tr工具的基本使用tr作用tr用于字符转换替换和删除主要用于删除文件中控制字符或进行字符转换命令语法格式用法1命令的执行结果交给tr处理其中string1用于查询string2用于转换处理
#commands|tr string1 string2
用法2tr处理的内容来自文件记住要使用标准输入
# tr string1 string2 filename
用法3匹配string1进行相应操作如删除操作
# tr options string1 filenametr命令选项-d删除字符串1中所有输入字符-s删除所有重复出现字符序列只保留第一个即将重复出现字符串压缩为一个字符串常用匹配字符串字符串 含义 a-z或[:lower:] 匹配所有小写字母A-Z或[:upper:] 匹配所有大写字母0-9或[:digit:] 匹配所有数字[:alnum:] 匹配所有字母和数字[:alpha:] 匹配所有字母[:blank:] 所有水平空白[:punct:] 匹配所有标点符号[:space:] 所有水平或垂直的空格 [:cntrl:] 所有控制字符 \f Ctrl-L 走行换页 \n Ctrl-J 换页 \r Ctrl-M 回车 \t Ctrl-I tab键命令练习1.过滤截取出网卡IP地址ifconfig eth0 | grepnetmask | cut-d: -f2 | tr -da-zA-Z或者ifconfig eth0 | grep netmask | cut -d: -f2 | cut -d -f12.过滤截取网络地址信息换行,并且去除空格ifconfig ens33 | grepnetmask | tr -da-z | tr \n | grep-v^$3.压缩空格并截取网络Mac地址信息ifconfig eht0 | grepHWaddr | tr -s
ifconfig eth0 | grepHWaddr | cut-d -f54.将系统中所有普通用户的用户名、密码和默认shell保存到一个文件中要求用户名密码和默认shell之间用tab键分割注释-E 匹配扩展正则表达式|代表或者是一个扩展正则grepbash$ /etc/passwd | grep-vroot | cut-d: -f1,2,7 | tr :\t | tee qq.txt