linux命令find,du和cat

find命令:

基本用法:find [表达式] [选项]

表达式是要查询的文件名的格式,可以是具体名字,也可以是正则表达式。默认以当前路径作为查询起点,否则需要在表达式中指定查询路径和文件名表达式.

常用选项:-type 指定查询的类型,后面跟f表示普通文件,d表示文件夹

                  -maxdepth 指定查询的最大深度,后跟一个整数。

例:find *.txt : 查询当前路径及其子路经下的所有名字为xxx.txt的文件和文件夹。

       find /usr/lib/linux* -maxdepth 0 -type d : 查询/usr/lib目录下(由于指定了-maxdepth 0所以不包括其子目录)所有名字以linux开头的文件夹

du命令:

基本用法:du [表达式] [选项]

表达式含义同上

常用选项:-h 以K,M,G为单位,提高信息的可读性

                  -s 仅显示总计,只列出最后加总的值

                 -S 显示个别目录的大小时,并不含其子目录的大小

例:du ./* -h : 显示当前目录下所有文件/文件夹(显示子目录)的总大小(包括子目录大小)

       du ./* -hs : 显示当前目录下所有文件/文件夹(不显示子目录)的总大小(包括子目录大小)

       du ./* -hsS :显示当前目录下所有文件/文件夹(不显示子目录)的总大小(不包括子目录大小)

sort命令:

功能:sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序             输出。

基本用法:sort 文件名 [选项]

常用选项:-r : sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了

                 -n : 不按照字典序排序,而是以数值来排序(适合于每行开头是数字的情况)

                 t选项和-k选项 :

如果有一个文件的内容是这样:

[rocrocket@rocrocket programming]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4

这个文件有三列,列与列之间用冒号隔开了,第一列表示水果类型,第二列表示水果数量,第三列表示水果价格。

那么我想以水果数量来排序,也就是以第二列来排序,如何利用sort实现?

幸好,sort提供了-t选项,后面可以设定间隔符。(是不是想起了cut和paste的-d选项,共鸣~~)

指定了间隔符之后,就可以用-k来指定列数了。

[rocrocket@rocrocket programming]$ sort -n -k 2 -t : facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3

我们使用冒号作为间隔符,并针对第二列来进行数值升序排序,结果很令人满意。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值