一秒学会文件内容浏览,cut命令使用,uniq命令使用,sort命令,tr

本文涉及的产品
转发路由器TR,750小时连接 100GB跨地域
简介: 一、文件内容浏览a.cat查看/etc/passwd文件内容,且输出时带行号

一、文件内容浏览


a.cat查看/etc/passwd文件内容,且输出时带行号

[root@ls_nfqZ8Onc ~]# cat /etc/passwd -n
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4  adm:x:3:4:adm:/var/adm:/sbin/nologin
     5  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
     6  sync:x:5:0:sync:/sbin:/bin/sync
     7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
     8  halt:x:7:0:halt:/sbin:/sbin/halt
     9  mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    10  operator:x:11:0:operator:/root:/sbin/nologin
    11  games:x:12:100:games:/usr/games:/sbin/nologin
    12  ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    13  nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
    14  dbus:x:81:81:System message bus:/:/sbin/nologin
    15  systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
    16  systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
    17  tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    18  polkitd:x:998:996:User for polkitd:/:/sbin/nologin
    19  libstoragemgmt:x:997:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
    20  unbound:x:996:993:Unbound DNS resolver:/etc/unbound:/sbin/nologin
    21  setroubleshoot:x:995:991::/var/lib/setroubleshoot:/sbin/nologin
    22  cockpit-ws:x:994:990:User for cockpit web service:/nonexisting:/sbin/nologin
    23  cockpit-wsinstance:x:993:989:User for cockpit-ws instances:/nonexisting:/sbin/nologin
    24  sssd:x:992:988:User for sssd:/:/sbin/nologin
    25  sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    26  chrony:x:991:987::/var/lib/chrony:/sbin/nologin
    27  rngd:x:990:986:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
    28  tcpdump:x:72:72::/:/sbin/nologin

b.使用more/less查看/etc/passwd内容,且每页显示10行

more:

[root@ls_nfqZ8Onc ~]# more -10 /etc/passwd
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
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

less:

在这里插入代码片

c.使用head/tail分别查看文件前5行内容和后5行内容

[root@ls_nfqZ8Onc ~]# tail -n5 /etc/passwd
sssd:x:992:988:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:991:987::/var/lib/chrony:/sbin/nologin
rngd:x:990:986:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
[root@ls_nfqZ8Onc ~]# head  -n5 /etc/passwd 
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
[root@ls_nfqZ8Onc ~]# tail -n5 /etc/passwd
sssd:x:992:988:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:991:987::/var/lib/chrony:/sbin/nologin
rngd:x:990:986:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin

d.使用grep查看/etc/passwd中和root相关的内容

[root@ls_nfqZ8Onc ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

cut命令使用

给定文件cut_data.txt且内容为:

No Name Score

1 zhang 20

2 li 80

3 wang 90

4 sun 60


1.使用默认定界符切割文件内容,且输出切割后的第一个字段

[root@ls_nfqZ8Onc data]# cut cut_data.txt -f1
No Name  Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60

2.切割文件内容,且输出切割后的第一个字段和第三个字段

[root@ls_nfqZ8Onc data]# cut cut_data.txt -f1,3 -d " "
No 
1 20
2 80
3 90
4 60

3.按字节切割:输出切割的第一个字节到第10个字节的内容

[root@ls_nfqZ8Onc data]# cut cut_data.txt -b1-10
No Name  S
1 zhang 20
2 li 80
3 wang 90
4 sun 60

4.按字符切割:输出切割后的第一个字符和第5个字符的内容

[root@ls_nfqZ8Onc data]# cut cut_data.txt -c1,5
Na
1a
2 
3n
4n

5.按指定分界符去切割:内容如下, 输出第一个字段和第三个字段内容

[root@ls_nfqZ8Onc data]# cut cut_data.txt -d "|" -f1,3
No|Score
1|20
2|80
3|90
4|60

uniq命令使用

新建文件uniq_data.txt,文件内容为

Welcome to Linux

Windows

Windows

Mac

Mac

Linux


使用uniq命令输出去重后的结果

[root@ls_nfqZ8Onc data]# uniq uniq_data.txt
Welcome to Linux
Windows
Mac
Linux

使用uniqmingl只输出重复的行

[root@ls_nfqZ8Onc data]# more uniq_data.txt 
Welcome to Linux
Windows
Windows
Mac
Mac
Linux
[root@ls_nfqZ8Onc data]# uniq uniq_data.txt -d
Windows
Mac

使用uniq命令输出不重复的行

[root@ls_nfqZ8Onc data]# uniq uniq_data.txt -u
Welcome to Linux
Linux

使用uniq命令统计重复次数

 [root@ls_nfqZ8Onc data]# uniq uniq_data.txt -c
      1 Welcome to Linux
      2 Windows
      2 Mac
      1 Linux

sort命令

Linux sort 命令用于将文本文件内容加以排序。

sort 可针对文本文件的内容,以行为单位来排序

文件内容:num.txt

1

3

5

2

4

文件内容:args.txt

test

args1

args2

args4

args4

args3

对num.txt进行排序,且将结果输出到sorted_num.txt中

[root@ls_nfqZ8Onc data]# vim num.txt
[root@ls_nfqZ8Onc data]# sort num.txt > sotred_num.tx
[root@ls_nfqZ8Onc data]# more sotred_num.tx 
1
2
3
4
5

对args.txt进行排序,且将结果输出到sorted_args.txt中

[root@ls_nfqZ8Onc data]# sort args.txt >sorted_merge.txt
[root@ls_nfqZ8Onc data]# more sorted_merge.txt 
     args1
     args2
     args3
     args4
     args4
 test

对num.txt和args.txt进行排序,且将结果输出到sorted_merge.txt中

[root@ls_nfqZ8Onc data]# sort args.txt num.txt > sorted_merge.txt
[root@ls_nfqZ8Onc data]# more sorted_merge.txt 
1
2
3
4
5
     args1
     args2
     args3
     args4
     args4
 test

对args.txt排序后去重输出

[root@ls_nfqZ8Onc data]# sort -u  sorted_merge.txt 
1
2
3
4
5
     args1
     args2
     args3
     args4
 test

合并sorted_args.txt和sorted_num.txt且输出

[root@ls_nfqZ8Onc data]# sort sotred_num.tx sorted_merge.txt -u
1
2
3
4
5
     args1
     args2
     args3
     args4
 test

给定文件info_txt:按第二列作为key进行排序

No Name Score

1 zhang 20

2 li 80

3 wang 90

4 sun 60

[root@ls_nfqZ8Onc data]# more info_txt 
No Name    Score
1 zhang 20
2 li  80
3 wang 90
4 sun  60
[root@ls_nfqZ8Onc data]# sort -k2 info_txt 
2 li  80
No Name    Score
4 sun  60
3 wang 90
1 zhang 20

tr命令

tr 指令从标准输入读取数据,经过替换或者删除后,将结果输出到标准输出。

语法: tr [OPTION]…SET1[SET2]

参数说明:

-c 反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换

-d 删除指令字符

-s 缩减连续重复的字符成指定的单个字符

将26个小写字母的后13个字母替换成大写字母

[root@ls_nfqZ8Onc data]# echo zxcvbnmlkjhgfdsaqwertyuiop | tr j-z J-Z
ZXcVbNMLKJhgfdSaQWeRTYUiOP

将hello 123 world 456中的数字替换成空字符

[root@ls_nfqZ8Onc data]# echo 'hello 123 world 456' | tr -d 0-9
hello  world 

将hello 123 world 456中字母和空格替换掉,只保留数字

[root@ls_nfqZ8Onc data]# echo 'hello 123 world 456' | tr -cd 0-9 
123456


相关文章
|
6月前
|
数据采集 Shell Linux
【Shell 命令集合 文档编辑】Linux 字符转换或删除 tr 命令使用指南
【Shell 命令集合 文档编辑】Linux 字符转换或删除 tr 命令使用指南
106 0
|
4月前
|
搜索推荐 Shell
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
常用文本内容命令(tr cut sort uniq)
常用文本内容命令(tr cut sort uniq)
|
6月前
|
Linux Perl
Linux命令之tr
Linux命令之tr
62 2
|
6月前
|
Linux
Linux命令(79)之tr
Linux命令(79)之tr
284 1
|
Shell Linux
Linux中常用的文本处理命令(echo、sort、uniq、tr、cut、split、eval)(上)
1、echo命令——输出 echo 命令主要用来显示字符串信息。
373 0
|
Linux
10.6.4 【Linux】字符转换命令: tr, col, join, paste, expand
10.6.4 【Linux】字符转换命令: tr, col, join, paste, expand
234 0
使用tr命令和sort命令对数组重新排序
方法一: 步骤: 使用tr命令将数组内每个元素之间的空格替换为换行符; 之后使用sort命令按从小到大重新排序; 最后使用for循环遍历排序后的元素值。通过下标值重新定义数组中的每个元素。
415 0
|
Linux Shell
Linux中常用的文本处理命令(echo、sort、uniq、tr、cut、split、eval)(下)
1、echo命令——输出 echo 命令主要用来显示字符串信息。
252 0
|
SQL 分布式计算 Hadoop
【Linux】Linux 管道命令Cut、sort、wc、uniq、tee、tr【一】
【Linux】Linux 管道命令Cut、sort、wc、uniq、tee、tr【一】
499 0
【Linux】Linux 管道命令Cut、sort、wc、uniq、tee、tr【一】