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 => 以":"冒号分割,截取每行第1,6,7列内容
# 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命令:数据处理命令的主要内容,如果未能解决你的问题,请参考以下文章
linux-12基本命令之 cat,more,head, tail ,tr,od,wc,cut,diff
为人民服务 方便快捷的处理 标准输入的字符以及文件内容顺序格式等相关命令操作(sort / uniq / tr / cut)