linux基础命令4(cut、sort、uniq、xargs、wc、tail、head、which、locate)

1、cut (显示行中的指定部分,删除文件中指定字段)
1)、

-b:仅显示行中指定范围的字节数;

-c:仅显示行中指定范围的字符;

-d:指定字段的分隔符,默认的字段分隔符为“TAB”;

-f:显示指定字段的内容;

[root@admin ~]# cat file  |cut -b 0,4
[root@admin ~]# cat file  |cut -b 1,4
Ts
Tt
[root@admin ~]# cat file  |cut -b 1,2
Th
Th

 

[root@admin ~]# cat passwd |cut -d : -f 1
[root@admin ~]# cat file |cut -b 1 -n   #不以字节分割,多字节会输出


2、 sort 排序

[root@admin ~]# cat file2  |sort
[root@admin ~]# cat file2  |sort -t ";"  -k3

L:76
l:108
J:74
j:106

LANG="en_US.UTF-8"
[root@admin test]# ll |sort -k6 -M           #月份(系统识别)
[root@admin ~]# cat file2  |sort -k3 -n      #数字排序  ---(字符) 1,2,3 .... 11 ,12,
[root@admin ~]# cat file2  |sort -k3 -nr     #到序
[root@admin ~]# cat file2  |sort -k5 -nu     #去重
[root@admin ~]# cat file2  |sort -k5 -nuo num   #输出到文件 num中

 

3、uniq 去重
:相邻的两行做比较

[root@admin ~]# cat /file4 |sort |uniq -f1              #跳过几列后对比
[root@admin ~]# cat /file4 |sort |uniq -i -f1           #不区分大小
[root@admin ~]# cat /file4 |sort |uniq -i -s1           #跳过字符
[root@admin ~]# cat file4 |sort  |uniq -u               #只显示唯一行
[root@admin ~]# cat /file4 |sort |uniq -w1 -d           #只显示重复的行
[root@admin ~]# cat /file4 |sort |uniq -w1              #1个字符之后的忽略
[root@admin ~]# cat /file4 |sort |uniq -w1 -c           #统计相同的行数
[root@admin ~]# cat /file4 |uniq -f1 -D         #取重复行
[root@admin test]# cat file |uniq -z |xargs -0
a b
c d

[root@admin test]# 
[root@admin test]# 
[root@admin test]# uniq -z ---->标准输出时\0 ; xrags -0 遇到0换行

 

-z, --zero-terminated  末尾生成0个字节的终止符作为输出(\0),这样的目的就是避免一条记录行因为存在空格被识别为多行
例如:当文本中的行记录是以空格分隔,并且需要将标准输出传给xargs,由于xargs是以空格作为分隔符,但是实际需要将整个文本内容作为一个完整的输出,
这个时候就需要使用-z参数在文本末尾生成\0的终止符告诉程序整个文本作为一个整体,

[root@admin ~]# cat file4 | uniq -z | xargs -0


4、 xargs
给命令传递参数
[root@admin ~]# echo file3 file4 file5 |xargs rm -rf 

会把空格以及换行转化为空格。
[root@admin test]# cat var 
fiel1
fiel2
fiel3
fiel4
fiel5
[root@admin test]# cat var |xargs rm -rf

5、wc
[root@admin test]# cat var1 |wc -c      #统计字节 ,Linux系统上每行结尾有一个换行符
[root@admin test]# ll |wc -l            #统计行
[root@admin test]# cat var1 |wc -m      #统计字符
[root@admin test]# cat var2 |wc -w      #-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
[root@admin test]# cat  var2 |wc -L     #统计最长行长度

6、tail :文后的若干行
[root@admin log]# tail yum.log  |wc -l   #输出文尾10行
[root@admin log]# tail -f yum.log        #动态输出
[root@admin log]# tailf -20  yum.log     #动态输出20行
[root@admin log]# tail -c 1  yum.log     #指定字节
[root@admin log]# tail -n 20  yum.log    #之后多少行

7、head :文前的若干行
[root@admin log]# head yum.log           #查看文前10行
[root@admin log]# head -c2 yum.log       #取字节
[root@admin log]# head -n20 yum.log      #文前多少行

8、which 
which安装PATH的环境变量的去查文件,默认一旦找到则后面的文件就不会再查找。
[root@admin log]# file `which pwd`

[root@admin ~]# which pwd   ---- /usr/bin/pwd
[root@admin ~]# `which pwd`   ---->解析执行 /usr/bin/pwd
/root
[root@admin ~]# /usr/bin/pwd
/root

[root@admin ~]# which -a pwd   #查看$PATH的所有路径

9、whereis 查找可执行文件,$PATH
[root@admin ~]# whereis pwd            #可执行文件 + 帮助
[root@admin ~]# whereis -b pwd         #可执行文件
[root@admin ~]# whereis -m pwd         #帮助文件

10    、locate && find
find    :查找真正的文件系统。
locate  :locate自己的数据库。将文件系统定时的更新到自己的数据库中 

查找速度快
模糊查找 
非实时查找;

[root@admin ~]# updatedb                   #手动触发构建索引库
[root@admin ~]# locate -b /etc/ passwd 
[root@admin ~]# locate -b -c /etc/ passwd  #统计数字
[root@admin ~]# locate -r .*wd$            #正则查找

find:

[root@admin test]# find 123/ -depth  -user root   # 从最里层查看文件,在查目录。默认是先查目录,在查文件
[root@admin test]# find 123/ -maxdepth 3  -user root
[root@admin test]# find 123/ -mindepth 3  -user root
[root@admin test]# find / -maxdepth 7 -mindepth 4 -name passwd

[root@admin test]# find /usr/ -not -user root
[root@admin home]# find . -not -user test01 -a -not -user test02
[root@admin home]# find . -not \( -user test01 -o -user test02 \)


(修改时间)
[root@node2 ~]# find . -mtime 1     相隔24小时
[root@localhost test]# find . -mtime -2     查找出文件最后一次修改时间距离现在2*24小时的内容。
[root@localhost test]# find . -mtime -3
[root@localhost test]# find . -mtime -4
[root@localhost test]# find . -mtime -5

[root@localhost test]# find . -mtime +1   查找出文件最后已修改时间在现在时间24-48小时之外的文件。(不到一天,不算)
[root@localhost test]# find . -mtime +2
[root@localhost test]# find . -mtime +3

(访问时间)
[root@admin find]# find / -atime -7 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: sort命令用于对文件进行排序,可以按照字母、数字等方式排序。 uniq命令用于去除文件中的重复行,可以用于统计文件中不同行的数量。 wc命令用于统计文件中的行数、单词数和字符数等信息,可以用于分析文件的内容。 ### 回答2: Linux sort命令是用来对文本文件进行排序的命令。它可以按照不同的排序规则,包括字母顺序、数字顺序、日期顺序等对文件进行排序。sort命令默认按照字母顺序进行排序,但可以使用参数来改变排序规则。sort命令可以从命令行或者文件中读取输入,然后将排序结果输出到标准输出或者文件中。 Linux uniq命令用于去除文件中的重复行。uniq命令默认情况下只能去除相邻的重复行,如果想要去除非相邻的重复行,需要先使用sort命令将文件进行排序,然后再使用uniq命令uniq命令可以从命令行或者文件中读取输入,并将去除重复行的结果输出到标准输出或者文件中。 Linux wc命令用于统计文件中的行数、字数和字符数。wc命令可以从命令行或者文件中读取输入,并将统计结果输出到标准输出或者文件中。wc命令默认情况下会输出一个包括行数、字数和字符数的行。可以使用参数来改变输出格式,如只输出行数、只输出字数、只输出字符数等。wc命令在处理大文件时非常高效。 以上是对Linux sortuniqwc命令的简要介绍。这些命令Linux系统中非常有用,可以帮助我们对文件进行排序、去除重复行和统计信息。它们具有丰富的参数选项,可以根据不同的需求进行灵活的使用。 ### 回答3: Linux中的sort命令是用来排序文本文件内容的命令,它能够按照字母顺序对每一行进行排序。sort命令的一般语法为:sort [选项] [文件名]。 -sort命令的一些常用选项有: -n,按照数值进行排序; -r,按照逆序进行排序; -u,去除重复的行; -k n,按照指定的列进行排序,n为列号; -o,将排序结果输出到指定的文件。 uniq命令用于去除文本文件中相邻的重复行。它能够检测和去除由sort命令排序之后的重复行。uniq命令的一般语法为:uniq [选项] [文件名]。 -uniq命令的一些常用选项有: -c,显示每行出现的次数; -d,仅显示重复的行; -u,仅显示没有重复的行; -i,忽略大小写。 wc命令用于统计文件中的行数、字数和字节数。wc命令的一般语法为:wc [选项] [文件名]。 -wc命令的一些常用选项有: -l,仅统计行数; -w,仅统计字数; -c,仅统计字节数; -m,统计字符数,包括空格。 这三个命令Linux中广泛应用于文本文件的处理和统计工作。通过组合使用这些命令,我们可以实现对文本文件的排序、去重和统计工作,提高工作效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值