shll编程之cut命令和tr命令:数据处理命令

Posted 锦衣admin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shll编程之cut命令和tr命令:数据处理命令相关的知识,希望对你有一定的参考价值。

shll编程之cut命令和tr命令:数据处理命令

cut命令:列截取命令

作用:截取列或者字符串

用途:数据截取

cut命令说明:

命令格式:
	# cut 选项 选项的值 filename
		选项说明:
			-c:以字符为单位进行分割
			-d:自定义分隔符,默认为制表符"\\t"
			-f:与 -d 一起使用,指定显示哪个区域

演示:
# cut -d ":" -f1 passwd		=>":"冒号分割,截取每行第1列内容,

# cut -d ":" -f1,6,7 passwd		=>":"冒号分割,截取每行第167列内容

# cut -c4 passwd		=>	截取文件中每行第四个字符

# cut -c1-4 passwd		=>	截取文件中每行的1-4个字符

# cut -c4-10 passwd		=>	截取文件中每行的4-10个字符

# cut -c5- passwd		=>	每行从第5个字符开始截取到后面所有字符	

tr命令:字符装换:替换、删除命令

作用:数据处理。用来从标准输入中通过替换或删除操作进行字符转换

用途:数据整理。主要用于删除文件中控制字符或进行字符转换

  • 使用tr命令时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。

cut命令与tr命令配合截取

tr命令说明:

命令格式:
	# tr 选项 字符串1 [字符串2] < filename
		选项说明:
			-d:删除字符串1中所有输入字符
			-s:删除所有重复出现字符序列,只保留第一个。如:"aabbabab",只保留:"ababab"

		字符串选择说明:
			a-z:代表26个英文小写字母
			A-Z:代表26个英文大写字符
			0-9:代表任意数字

			[:alnum:]:所有字母和数字
			[:alpha:]:所有字母
			[:digit:]:所有数字
			[:lower:]:所有小写字母
			[:upper:]:所有大写字母
			[:blank:]:所有水平空白
			[:cntrl:]:所有控制字符

			\\b:退格符,即Ctrl-H
			\\f:走行换页,即Ctrl-L
			\\n:新行,即 Ctrl-J
			\\r 回车,即Ctrl-M
			\\t:tab键,即Ctrl-I
  
			[:graph:]:所有可打印的字符,不包含空格
			[:print:]:所有可打印的字符,包含空格
			[:punct:]:所有的标点符号
  			[:space:]:所有水平或垂直的空格 			
  			[:xdigit:]:所有十六进制数字
  			[=CHAR=]:所有字符



演示:
	# tr -d '[:/]' < passwd 		=>	删除文件中的:/

	# cat passwd |tr -d '[:/]'			=>	删除文件中的:/


	# tr '[0-9]' '@' < passwd 			=>	将文件中的数字替换为@符号

	# tr '[a-z]' '[A-Z]' < passwd 		=>	将文件中的小写字母替换成大写字母


	# tr -s '[a-z]' < passwd 			=>	匹配小写字母并将重复出现的压缩为一个

	# tr -s '[a-z0-9]' < passwd 		=>	匹配小写字母和数字并将重复出现的压缩为一个

	# tr -d '[:digit:]' < passwd 		=>	删除文件中的数字

	# tr -d '[:blank:]' < passwd 		=>	删除水平空白

	# tr -d '[:space:]' < passwd 		=>	删除所有水平和垂直空白

以上是关于shll编程之cut命令和tr命令:数据处理命令的主要内容,如果未能解决你的问题,请参考以下文章

Shll编程之Expect免交互

Shell编程之正则表达式

linux-12基本命令之 cat,more,head, tail ,tr,od,wc,cut,diff

走进shell之--熟练掌握编辑文本功能命令

为人民服务 方便快捷的处理 标准输入的字符以及文件内容顺序格式等相关命令操作(sort / uniq / tr / cut)

linux常用命令-文本处理cut,sort,uniq,wc,tr