unix-shell-3

来源:互联网 发布:水利水电计价软件 编辑:程序博客网 时间:2024/05/24 23:15

sort命令:将文件排序输出

-n:按数字值比较,否则默认当做字符串比较

-t:分隔符

-k:指定比较域,如-k 2------按第二个域及以后排序,-k 2.2,2.5--------按第二个域的第二个到第五个字符排序

-r:降序输出,默认是升序的

-u:忽略相同的行

例:cat /etc/passwd|sort -k 1               ----------------按passwd文件的第一个域排序输出

cat /etc/passwd|sort -r -k 1      ----------------按passwd文件第一个域逆序输出

n,r,u可以直接接在数字后面,如:

sort -k 2nr -k 3nu filename

uniq命令:去除连续相同的行输出,只把连续相同的行看做一样的,不是连续的相同的行不删除

-u:只显示不重复行

-d:只显示有重复行

-c:打印每一重复行出现次数

-f:只比较指定列是否相同,如-f 2-----比较第二列是否相同,其他列忽略

例:vi myfile

myday day

myday day

myday day

going down

myday day

uniq -u myfile:结果为第一行,第4行,第5行

uniq -d myfile:结果为myday day

uniq -c myfile:结果为:myday day 3

going down 1

myday day 1

vi file

ok 1

ok 2

ok 2

uniq -f 1 -u file:结果为:ok 1

uniq -f 1 -c file:结果为:ok 1  3


cut命令:剪切指定内容命令

-c:指定剪切范围,例:cut -c 1-10 filename--------------显示filename的每一行的前十个字符

-d:指定分隔符     默认分隔符是空格或tab,若为其他的,需明确指出

 例:cut -d "#"  -f 3 filename ----------以#为分隔符剪切出filename的第三个域

-f:指定剪切的域   例:cut -f 1,3-5 filename    ----------剪切filename的1,3,4,5列


paste命令:将不同文件行信息放在一行

-d:指定分隔符

-s:将每个文件合并成行而不是按行黏贴

例:paste -d ”#“ file1 file2


split命令:将大文件按行切片,默认为1000行分割

-a:指定输出文件名后缀长度 例:cut -a 3 filename----文件后缀名为xaaa开始

-d:指定数字代替字母做后缀

-b:指定输出文件字节数 例:cut -b 1024 filename--将文件以1k大小分割

-C:指定单行的最大字节数

-行数:指定以该行数分割 例:cut -5 filename-------将filename以每5行分割一个文件



0 0
原创粉丝点击