wc 统计文本
常见参数
字符串数:以空格为间隔的为一个字符串;
字节数:每一个字符为一个字节。
如下图中“Watch”和“what”各为一个字符串,而“W”和“a”各为一个字节。
举例
cut 文本切割
常见参数
举例
对于下图的文件
less -N SRR10502964.sam | cut -f 1,3 # 输出文件中的第一列和第三列
less -N SRR10502964.sam | cut -f 1,3 # 输出文件中的第一列和第三列
less -N SRR10502964.sam | cut -d 'R' -f 1 # 以字节R为分隔符,输出分隔后的第一列
sort 排序
以 ASCII 码的次序排列
常见参数
- -n 按照数值从小到大进行排列
- -V 字符串中若含有数值,按照数值从小到大进行排列
- -k 对指定区域重新排列
- -t 按指定分隔符排序
举例
对于下图中的文件
cat blast.out | sort -k 3 | less # 对第三列进行排序
cat blast.out | sort -k 3 | less # 对第三列进行排序
uniq 去除重复行
只能去除相邻的重复行,所以通常与sort一起用
常见参数
- -c 在每列前显示该行重复出现的次数
- -d 仅显示重复出现的列
- -u 仅显示出现一次的列
举例
对于下图中的文件
less blast_out.tab | cut -f 1 | uniq -c
less blast_out.tab | cut -f 1 | uniq -c
paste 合并文件的列
用法:paste [-s] [-d] [文件1] [文件2]
常见参数
举例
对于以下文件1和文件2
直接paste和paste -s的区别
tr 替换或删除文件中的字符
tr [参数] [第一字符集] [第二字符集]
常见参数
- -c 反选设定字符
- -d 删除指定字符
- -s 删除连续重复的字符为指定的单个字符
字符集合
- \NNN 八进制值的字符 NNN (1 to 3 为八进制值的字符)
- \ 反斜杠
- \a Ctrl-G 铃声
- \b Ctrl-H 退格符
- \f Ctrl-L 走行换页
- \n Ctrl-J 新行
- \r Ctrl-M 回车
- \t Ctrl-I tab键
- \v Ctrl-X 水平制表符
- CHAR1-CHAR2 :字符范围从 CHAR1 到 CHAR2 的指定,范围的指定以 ASCII 码的次序为基础,只能由小到大,不能由大到小。
- [CHAR*] :这是 SET2 专用的设定,功能是重复指定的字符到与 SET1 相同长度为止
- [CHAR*REPEAT] :这也是 SET2 专用的设定,功能是重复指定的字符到设定的 REPEAT 次数为止(REPEAT 的数字采 8 进位制计算,以 0 为开始)
- [:alnum:] :所有字母字符与数字
- [:alpha:] :所有字母字符
- [:blank:] :所有水平空格
- [:cntrl:] :所有控制字符
- [:digit:] :所有数字
- [:graph:] :所有可打印的字符(不包含空格符)
- [:lower:] :所有小写字母
- [:print:] :所有可打印的字符(包含空格符)
- [:punct:] :所有标点字符
- [:space:] :所有水平与垂直空格符
- [:upper:] :所有大写字母
- [:xdigit:] :所有 16 进位制的数字
- [=CHAR=] :所有符合指定的字符(等号里的CHAR,代表你可自定义的字符)
举例
删除字符
只保留一个o
将文件1中的小写字符换成大写字符
# 将小写换成大写