cut,paste,sed,tr,grep,uniq,sort

cut,paste,sed,tr,grep,uniq,sort 

----by johnny. Deng

这些命令都是linux下对于文本,字符串处理及其实用的工具。对他们的使用的一般都是基于正则表达式的;同时也是基于行处理的。

对于正则表达式,这里就不赘述了。

cut:从数据文件或者命令的输出中析取各种各样的数据域非常实用的工具。

cut -cchars file

其中chars指定从文件file中每一行中析取哪些字符,例如-c5:析取第5个字符;-c1,13,14析取1,13,14个字符;-c1-23:析取第1到23个字符,共23

个字符;-c3-:从第3个到最后一个。

cut -ddchar -ffields file


dchar是数据中分隔各字段的分隔符(没有-d时,默认为制表符),fields表示要从文件file中析取出来的字段,从1开始。例如:cut -d: -f1

/etc/passwd:析取/etc/passwd中所有的系统用户名;cut -d: -f1,6 /etc/passwd:析取/etc/passwd中所有的系统用户及其home目录;

paste:与cut相反,把多行合在一起。

paste files

其中files指定的那些文件中对应行组成一行,然后写入stdout。

例如:paste name address 组合name和address文件中对应行。

例如:paste -d'+' names addresses 指定‘+’为分隔符。

paste -s names 将names文件中的所有行并为一行。


sed:编辑数据的程序,意指stream editor,不能用于交互。(ed可以)

sed commond file / sed -f scriptfile file

command是作用与file各行的命令,可以执行一个command的列表scriptfile来处理一系列命令,命令举例:

sed '5d' file        删除file第5行
sed '/[Tt]est/d' file   删除file中包含test和Test字符的行
sed -n '20,25p' file    只显示file中第20到25行
sed -n 'unix/p' file    只显示file中包含unix的行
sed '1,10s/unix/windows/g' file 将file中第1到第10行的unix字符串换成windows
sed '/jan/s/-1/-5' file    将file中所有包含jan的行中的第一个-1改为-5
sed '/s/...//' file    将file中每行前3个字符删掉
sed '/s/...$//' file    将file中每行后3个字符删掉
sed -n 'l' file        显示file中所有行,不可打印字符显示为/nn(nn为该字府的8进制),制表符显示为/t

tr: 用来转换来自标准输入的字符。
tr from-chars to-chars
其中from-chars和to-chars是一个或多个字符。所输入的任何字符,如果再from-chars中,它就被转换成to-chars中对应的字符。转换的结果写入标准

输出。

tr windows linux < file

tr -s : '/11': 将所有:变成制表符,‘/11’为制表符的八进制表述,-s将多个连续的制表符变为一个。

tr -d ' ' < file:从文件中,将所有空格删除


grep: 可以从一个或者多个文件中搜索特定的字符串模式

grep pattern files

grep '*' file: 搜索file中所有含有*号的行

grep -v 'windows' file:显示file中所有不含有windows的行

grep -l 'windowsUnix' files:从files中搜索,显示包含windowsunix字符串的文件列表

grep -n 'windowsUnix' file:  显示file中包含特定字符串的行号


sort:排序操作

sort files:去除指定文件的每行,将他们升序排序

sort -u files:去除重复的行

sort -r files:反序

sort files -o file2:将files中的行排序输入file2中

sort -n file:按照file的算术方法排序  

sort +2n files: 按算术方法排序files的第三列(跳过2列,列以空格或者制表符分隔)

sort +2n -t: file: 按算术方法排序files的第3列,每列以:分隔。


uniq: 查找重复行

uniq files:显示files中的各行,去除重复行

uniq -d files: 显示files中重复的行

uniq -c files: 计数files中重复行分别出现的次数


awk/perl

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值