Linux—文本内容管理和文件查找

  • Linux—文本内容管理和文件查找已关闭评论
  • 251 次浏览
  • A+
所属分类:linux技术
摘要

cut按列截取文本内容awk文本和数据进行处理的编程语言grep文本过滤sed文本过滤和编辑器


Linux文本内容管理和文件查找

1、文本内容管理命令

1.1文本内容排序

sort    //默认升序排序,不是按数值大小排序的         -n      //根据数值大小进行排序         -r      //逆序排序         -t      //字段分隔符         -k      //以哪个字段为关键字进行排序         -u      //去重,排序后相同的行只显示一次         -f      //排序时忽略字符大小写              uniq    //将重复的行只显示一遍(连续且完全相同方为重复)         -c      //显示文件中行重复的次数         -d      //只显示重复的行         -u      //只显示未重复的行 

1.2文本内容统计

//文本内容统计     wc(word count)         -l      //显示行数         -w      //显示单词数         -c      //显示字节数  //文件大小统计      du      //查看文件或目录占用的磁盘空间大小         -h      //以人类友好的方式显示大小         -s      //显示总的占用空间大小  //磁盘空间统计     df      //报告文件系统磁盘空间使用情况         -h      //以人类友好的方式显示大小         -i      //显示inode信息         -T	//查看文件系统类型 

1.3文本内容过滤

cut按列截取文本内容

cut         //截取文本内容         -d ''	//指定字段分隔符,默认是空格         -f		//指定要显示的字段             -f 1,3	//显示第1个字段和第3个字段             -f 1-3	//显示第1个字段到第3个字段 

awk文本和数据进行处理的编程语言

awk				//awk文本和数据进行处理的编程语言 		语法:awk [选项] '匹配模式 {执行动作}'         -F ''		//指定分隔符,可以使用正则表达式[]指定多个分隔符         -v OFS=''	//指定打印时的分隔符          		变量: 				NF   //行数 				NR   //列数 				  执行动作:         '{print $#}'  		//选择打印第#列,$0代表所有列,$NF代表最后1列      匹配模式:         '/关键字/'				//匹配关键字的行,支持正则表达式         '/关键字1/,/关键字2/'	//匹配从关键字1到关键字2中间所有的行         'NR==1'					//匹配第1行         'NR>=10'				//匹配行数大于10的所有行并显示行号         '$1==1'					//匹配第1列的值等于1的行         '$1>=10 && $1<=20'		//匹配第1列的值大于等于10并小于等于20的行         '$1>=10 || $3!=20'		//匹配第1列的值大于等于10或者第3列的值不等于20的行         '$NF~"/sbin/nologin"'	//匹配最后1列字符为/sbin/nologin的行         '$NF~!"/sbin/nologin"'	//匹配最后1列字符不为/sbin/nologin的行          语法示例:             awk -F ':' '{print "第一列:"$1,"第二列:"$2,"第三列:"$3}' /etc/passwd                 //使用:为分隔符分割/etc/passwd文件中的内容,按照想要的格式打印出来             awk -F ':' -v OFS='-' '{print $1,$2,$3}' /etc/passwd                 //使用:为分隔符分割/etc/passwd文件中的内容,按照想要的格式打印出来 

grep文本过滤

grep        //搜索文本内容,并将匹配的内容所在一整行都显示出来                 //支持使用正则表达式来过滤文本         --color     //匹配到的内容高亮显示         -i          //忽略大小写         -w          //强制模式,完全匹配字词         -n          //显示匹配到的内容的行号         -c          //显示匹配到的内容一共有多少行         -v          //显示没有被模式匹配到的行         -o          //只显示被模式匹配到的字符串         -E          //使用扩展正则表达式。grep -E相当于使用egrep         -q          //静默模式,不向屏幕输出任何信息         -A 1        //被模式匹配到的内容以及其后面1行的内容都显示出来         -B 1        //被模式匹配到的内容以及其前面1行的内容都显示出来         -C 1        //被模式匹配到的内容以及其前后的行各显示1行     egrep       //基于正则表达式查找文件内容     fgrep       //不支持正则表达式,执行速度快 

sed文本过滤和编辑器

sed         //基于行的过滤和转换文本的流编辑器       语法:sed [选项] [过滤条件和sed命令] [输入文件]         -n	        //取消默认sed输出,用于过滤文本内容         -r	        //使用扩展正则表达式         -e	        //一条语句执行多条sed命令         -i	        //修改文件内容 

2、文件查找命令

find        //实时查找,精确性强,遍历指定目录中所有文件完成查找,                  //查找速度慢,支持众多查找标准。         语法: 	    find 查找路径 [OPTION...] [查找标准] [查找到以后的处理动作]         查找路径,默认为当前目录         查找标准,默认为指定路径下的所有文件         -name 'filename'    //对文件名作精确匹配.支持glob通配符机制         -iname 'filename'   //文件名匹配时不区分大小写         -regex pattern      //基于正则表达式进行文件名匹配,以pattern匹配整个文件路径字符串,而不仅仅是文件名称         -user username      //根据属主来查找         -group groupname    //根据属组来查找         -uid        	    //根据UID进行查找,当用户被删除以后文件的属主会变为此用户的UID         -gid        	    //根据GID进行查找,当用户被删除以后文件的属组会变为此用户的GID         -nouser     	    //查找没有属主的文件.用户被删除的情况下产生的文件,只有uid没有属主         -nogroup    	    //查找没有属组的文件.组被删除的情况下产生的文件,只有gid没有属组         -type       	    //根据文件类型来查找(f,d,c,b,l,p,s)         -size       	    //根据文件大小进行查找。如1k、1M,+10k、+10M,-1k、-1M,+表示大于,-表示小于         -mtime      	    //修改时间         -ctime      	    //改变时间         -atime      	    //访问时间             +5      	    //5天前             -5      	    //5天以内         -mmin       	    //多少分钟修改过         -cmin       	    //多少分钟改变过         -amin       	    //多少分钟访问过             +5      	    //5分钟前             -5      	    //5分钟以内         -perm mode          //根据权限精确查找         -perm -mode         //9位权限中非0的权限必须完全匹配         -perm /mode         //9位权限中非0的权限任何一位匹配即可          //组合条件:             -a							//多条件同时满足(与)             -o							//多条件满足其中一个即可(或)             -not						//满足前面不满足后面(非)             !              // ! 和-not含义一样          //处理动作:默认为显示到屏幕上             -print          //显示             -ls             //类似ls -l的形式显示每一个文件的详细信息             -fls /path/to/somefile      //查找到的所有文件的长格式信息保存至指定文件中             -delete                     //删除查找到的文件             -ok COMMAND {} ;           //对查找到的每个文件执行COMMAND,每次操作都需要用户确认             -exec COMMAND {} ;         //对查找到的每个文件执行COMMAND,操作不需要确认  注意:find传递查找到的文件至后面指定的命令时,查找到所有符合条件的文件一次性传递给后面的命令,而有些命令不能接受过多参数,此时命令执行可能会失败。而xargs可规避此问题。      | xargs   //通过管道将查找到的内容给xargs处理,xargs会把内容进行拆分,拆分完毕后将内容作为参数交给后面的命令执行。