管道符
在Linux系统中,会有许多和字符串相关的操作 ,这回涉及到一个概念,叫做管道。在Linux中的管道是一个固定大小的缓冲区,大小为1页(4K字节)。它所使用的符号管道符是“|”,用来做进程之间的连接。
- 例如在命令
ls -l /etc/init.d | more ,这是表示在执行完前一个命令后继续执行下一个more命令
搜索文本的命令grep
在Linux中经常使用的用来进行grep命令搜索文本
- 在tomAndJerry.txt文件中搜索包含name的命令,使用参数-i 会忽略大小写
grep -i 'name' tomAndJerry.txt
排序命令sort
在进行排序的时候通常会使用到sort这个命令,在结合一些参数进行设置,能很好的进行排序的操作。 sort [-ntkr] filename ,这里的-n 指的是采用数字方式排序,-t是指定分隔符排序,-k是指定第几列,-r反向排序 实际使用的命令是:cat sort.txt | sort -t ":" -k 2 -n
删除重复内容uniq
在实工作中,会遇到这样的情况是希望在有重复行出现的时候,能够去掉重复行,这会使用到命令uniq,参数- i 会忽略大小写,-c会计算重复行数量。 在实际中这个命令会和sort一起shying,先将文件使用sort进行排序(这样重复的内容就能显示在连续的几行中),然后再使用uniq删除掉重复的内容(uniq的作用就在于删除连续的完全一致的行)cat unip.txt | sort | unip -c
文本截取命令cut
在Linux中,有类似于在Java程序中的的字符串截取,这就是在Linux中常用的cut命令。使用cut的时候,会有
- 截取指定列的分隔符号
cut -f 指定列 -d '分隔符'
- 打印系统中的所有用户:
cat /etc/passwd | cut -f1 -d ':' - 打印用户和用户的家目录:
cat /etc/passwd | cut -f1 , 6 -d ':' - 打印用户、目录、和登录的shell:
cat /etc/passwd | cut -f 1,6 -7 -d ':' - 截取指定列的字符串
cut -c 指定列的字符串
- 打印每行第1-5个7-10个字符串:
cat etc/passwd | cut -c 1-5,7-10
文本转换的命令是tr
在使用文本转换或者删除的时候,会使用到具体的命令是tr,比如说是大小写的转换,参数-d是删除文本内容
- 实现大小写转换 :
cat /etc/passwd | tr '[a-z]' '[A-Z]' - 删除冒号 :
cat /etc/passwd | tr -d ':'
文本合并paste
在文本操作中,不仅仅是有文本的转换和删除,也会有两个文本之间的内容合并,这就会使用一个paste命令,没有参数就是直接的行与行之间之间发生了合并,如果加上了参数-d 分隔符等,就可以实现了文件的合并
- 文件中照行合并:
paste filename1 filename2 - 带分隔符的合并:
paste -d : filename1 filename2
大文件切割split
在Linux下使用split命令来实现文件的分割,支持按照行数分割和按照大小分割这两种模式。 常用的参数有-h (文件详细信息查看) ,-l (参数)
- 查看大文件
ll -h big_file,txt - 按行切割,-l参数指定500行切割一次:
split -l 500 big_file.txt smal_file_ - 二进制文件按照大小切割:
ll -h big_bin - 二进制文件切割使用的命令是:
split -b 64m big_bin small_bin_
|