Linux基础_文件管理命令(四)

文件管理(四)

去重命令

# 命令:
uniq

## 语法
uniq    [选项]... 文件名...

## 注意,去重内容,必须是连续的行,必须要配合sort先排序,再去重,去重也不会修改源文件的内容

## 选项
-c:count 统计

## 举例:
[root@localhost ~]# cat >> /work2/quchongtest.txt << EOF
> 1
> 2
> 3
> 4
> 1
> 3
> 4
> 2
> 11
> 1
> 1
> 22
> 2
> 2
> 2
> EOF
[root@localhost ~]# uniq /work2/quchongtest.txt 
1
2
3
4
1
3
4
2
11
1
22
2
[root@localhost ~]# sort /work2/quchongtest.txt
1
1
1
1
11
2
2
2
2
2
22
3
3
4
4
[root@localhost ~]# sort /work2/quchongtest.txt | uniq
1
11
2
22
3
4

# -c
[root@localhost ~]# sort -n /work2/quchongtest.txt | uniq -c
      4 1
      5 2
      2 3
      2 4
      1 11
      1 22

文件内容截取命令

## 命令:
cut | 截取

## 语法
cut    [选项]... 文件名...

## 注意:cut默认没有分隔符

## 选项
-d:--delimiter=DELIM(默认的字段分隔符为“TAB”)
-f:--fields=LIST,选择要打印的列内容
-c:--characters=LIST,按照字符来取内容

## 举例
[root@localhost ~]# cat /work2/shujubiao.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin


# -d 
# -f
## 取出第一列
[root@localhost ~]# cut -d ':' -f 1 /work2/shujubiao.txt
root
bin
daemon
adm
lp
## 取出第一列和第四列
[root@localhost ~]# cut -d ':' -f 1,4 /work2/shujubiao.txt
root:0
bin:1
daemon:2
adm:4
lp:7
## 取出第一列到第四列
[root@localhost ~]# cut -d ':' -f 1-4 /work2/shujubiao.txt
root:x:0:0
bin:x:1:1
daemon:x:2:2
adm:x:3:4
lp:x:4:7
## 取出第四列和之前的所有列
[root@localhost ~]# cut -d ':' -f -4 /work2/shujubiao.txt
root:x:0:0
bin:x:1:1
daemon:x:2:2
adm:x:3:4
lp:x:4:7
## 取出第四列和之后的所有列
[root@localhost ~]# cut -d ':' -f 4- /work2/shujubiao.txt
0:root:/root:/bin/bash
1:bin:/bin:/sbin/nologin
2:daemon:/sbin:/sbin/nologin
4:adm:/var/adm:/sbin/nologin
7:lp:/var/spool/lpd:/sbin/nologin


扩展总结:
总结:
-d     分隔符
-f 1-4 第1列至第4列
-f 1,4 第1列和第4列
-f -4  第4列和之前的内容
-f 4-  第4列号和之后的内容


# -c
[root@localhost ~]# cut -c 1 /work2/shujubiao.txt
r
b
d
a
l
## -c 1-5 打印第一个字符到第五个字符的内容
[root@localhost ~]# cut -c 1-5 /work2/shujubiao.txt
root:
bin:x
daemo
adm:x
lp:x:
## -c -4  打印前面四个字符
[root@localhost ~]# cut -c -4 /work2/shujubiao.txt
root
bin:
daem
adm:
lp:x
## -c 4-  打印第四个字符和之后的内容
[root@localhost ~]# cut -c 4- /work2/shujubiao.txt
t:x:0:0:root:/root:/bin/bash
:x:1:1:bin:/bin:/sbin/nologin
mon:x:2:2:daemon:/sbin:/sbin/nologin
:x:3:4:adm:/var/adm:/sbin/nologin
x:4:7:lp:/var/spool/lpd:/sbin/nologin

## -c -4,4- 打印全部内容 第四个字符也不会重复
[root@localhost ~]# cut -c -4,4- /work2/shujubiao.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

文件统计命令

## 命令:
wc:统计文件的行数,统计文件的单词数量,统计文件的字符数量


## 语法
wc    [选项]... 文件名...


## 选项
-l:line 行,统计行数
-w:word 单词,统计单词数
-c:char 字符,统计字符数

举例:
[root@localhost ~]# wc /work2/shujubiao.txt
  5   5 183 /work2/shujubiao.txt

   5         5       183
文件行数   单词数量   字符数量

## -l -w  -c 可组合使用
举例:
[root@localhost ~]# wc -l /work2/shujubiao.txt
5 /work2/shujubiao.txt
[root@localhost ~]# wc -w /work2/shujubiao.txt
5 /work2/shujubiao.txt
[root@localhost ~]# wc -c /work2/shujubiao.txt
183 /work2/shujubiao.txt
[root@localhost ~]# wc -lw /work2/shujubiao.txt
  5   5 /work2/shujubiao.txt
[root@localhost ~]# wc -wc /work2/shujubiao.txt
  5 183 /work2/shujubiao.txt
[root@localhost ~]# wc -lc /work2/shujubiao.txt
  5 183 /work2/shujubiao.txt

思维导图

posted @   悠悠哉55  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示