Linux文本分析

*文本分析
	*cut:显示切割的行数据
		* f:选择显示的列
		* s:不显示没有分隔符的行
		* d:自定义分隔符
		
		**例:
			cut -d':' -f1 passwd
	
	*sort:排序文件的行
		* n:按数值排序
		* r:倒序
		* t:自定义分隔符
		* k:选择排序列
		* u:合并相同行
		* f:忽略大小写
	*wc:输出文件中的行数、单词数、字节数
		* c:输出字节统计数
		* l:输出换行符统计数
		* w:输出单词统计数
		* L:输出最长的行的长度
	*sed:行编辑器
		* sed [options]'AddressCommand'file
		* -n:静默模式,不再默认显示模式空间中的内容
		* -i:直接修改源文件
		* -e SCRIPT -e SCRIPT:可以同时执行多个脚本
		* -f /PATH/TO/SED_SCRIPT
		* -r:表示使用扩展正则表达式
			**sed:行编辑器Command
				* d:删除符合条件的行
				* p:显示符合条件的行
				* a \string:在指定的行后面追加新行,内容为string
					\n:可以用于换行
				* i \string:在指定的行前面添加新行,内容为string
				* r FILE:将指定文件的内容添加至符合条件的行处
				* w FILE:将地址指定的范围内的行另存至指定的文件中
				* s/pattern/string/修饰符:查找并替换,默认只替换每行中第一次被模式匹配到的字符串
					* g:行内全局替换
					* i:忽略字符大小写
					* s///:s###,s%%%,s@@@
			**sed:行编辑器Address
				*可以没有
				*给定范围
				*查找指定行/str/
		
		*例:sed "s/\(IPADDR=\(\([0-9]\|[1-9][0-9]\|1[0-9][0-9]\|2[0-4][0-9]\|25[0-5]\)\.\)\{3\}\).*/\188/" ifcfg-ens33 
	
	*awk:文本分析工具
		*相当于grep的查找,sed的编辑,awk在其对数据分析并生产报告时,显得尤为强大。
		*简单来说awk就是把文件逐行的读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理。
		*awk -F '{pattern+action}'{filenames}
			*支持自定义分隔符
			*支持正则表达式匹配
			*支持自定义变量,数组 a[1] a[tom] map(key)
			*支持内置变量
				*ARGC  --->命令行参数个数
				*ARGV  --->命令行参数排列
				*ENVIRON  --->支持队列中系统环境变量的使用
				*FILENAME  --->awk浏览的文件名
				*FNR  --->浏览文件的记录数
				*FS  --->设置输入域分隔符,等价于命令行-F选项
				**NF  --->浏览记录的域的个数
				**NP --->已读的记录数
				*OFS  --->输出域分隔符
				*ORS  --->输出记录分隔符
				*RS  --->控制记录分隔符
			*支持函数
				*print  split  substr  sub  gsub
			*支持流程控制语句,类C语言
				*if while do/while for break continue
			
			***例:显示/etc/passwd的账户:
				*awk -F':' '{print $1}' passwd 
			***例:只显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以制表符分割,而且再所有行开始
			前添加列名name\tshell,再最后一行添加blue\t/bin/nosh
				*awk -F':' 'BEGIN{print "name\tshell"}{print $1 "\t" $7}END{print "blue\t/bin/nosh"}' passwd
			***例:搜索/etc/passwd有root关键字的所有行
				*awk '/root/ {print $0}' passwd
			***例:统计/etc/passwd文件中,每行的行号,每行的列数,对应的完整行内容
				*awk -F':' '{print NR "\t" NF "\t" $0}' passwd 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值