基本命令(补)

目录

一.tr基本功能转换

1.格式

tr [选项]… SET1 [SET2]

SET 是一组字符串,一般都可按照字面含义理解

-d 删除

-s 压缩

-c 只留我匹配的字符

[root@localhost ~]# tr 1234   qwer
1u5h3v6k2p4n
qu5hev6kwprn
#只要出现1234的数字就对应换成qwer#
[root@localhost ~]# tr 12345  ert
123456789
erttt6789
#用ert去替换12345数字,但是因为替换内容不够5位,所以不够位数上都用最后一位t补全#
在3.txt中找到4就删除
[root@localhost ~]# cat /zhou/3.txt|tr -d 4
656
33232
5353533
3232
32322
552332
323235
55336
3232


把大空格替换成小空格
[root@localhost ~]# tr -s " " 
4         6          3          7
4 6 3 7

在输入中寻找指定的字符,使其相邻重复的合并成一个字符
[root@localhost ~]# tr -s "3"
3333
3
63 8483 9373  37827
63 8483 9373  37827
33  763 8623
3  763 8623


二.管道符的应用

A|B,A执行完的结果传给B进行完成,单向,不可逆的

50个自然数连加
[root@localhost ~]# seq -s+ 50|bc 
1275

生成随机密码
[root@localhost ~]# cat /dev/urandom |tr -dc '[:alnum:]' |head -c12
UuDYma0H39TP[root@localhost ~]# cat /dev/urandom |tr -dc '[:alnum:]' |head -c12
Fv7gxQvffptl
在1.txt文件中找到a-z小写字母,其他都删除
[root@localhost ~]# cat /zhou/1.txt |tr -c "[a-z]" " "
                             jgfghh   fhfhhfdg    gdfdgdgfgdfg     gdfg tt t wt t er gfdf h fh    y er rgdf g df   [root@localhost ~]# 
  加s对空白地方进行压缩
[root@localhost ~]# cat /zhou/1.txt |tr -sc "[a-z]" " "
 jgfghh fhfhhfdg gdfdgdgfgdfg gdfg tt t wt t er gfdf h fh y er rgdf g df [root@localhost ~]# 

三.cut命令

cut 命令可以提取文本文件数据的指定列

格式

cut [选项]… [文件]…

常用选项
-d DELIMITER: 指明分隔符,默认tab
-f 想要获取的字段
#: 第#个字段,例如 3
#,#[,#]:离散的多个字段,例如 1,4,6
#-#:连续的多个字段, 例如 1-7
混合使用:1-4,7
-c 取字符

在用户文件中找到最后一行,提取1,3段
[root@localhost ~]# cat /etc/passwd|tail -n 1|cut -d: -f1,3 
zhou:1000

[root@localhost ~]# ll |tail -n +2
-rw-------. 1 root root 2193 Sep 17 09:41 anaconda-ks.cfg
-rw-r--r--. 1 root root  141 Sep 17 14:53 bc
drwxr-xr-x. 2 root root    6 Sep 17 09:52 Desktop
drwxr-xr-x. 2 root root    6 Sep 17 09:52 Documents
drwxr-xr-x. 2 root root    6 Sep 17 09:52 Downloads
-rw-r--r--. 1 root root 2241 Sep 17 09:52 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 Sep 17 09:52 Music
drwxr-xr-x. 2 root root    6 Sep 17 09:52 Pictures
drwxr-xr-x. 2 root root    6 Sep 17 09:52 Public
drwxr-xr-x. 2 root root    6 Sep 17 09:52 Templates
drwxr-xr-x. 2 root root    6 Sep 17 09:52 Videos
想要只显示3列和9列,首先从第2行开始,压缩所有空格为一个空格,并以空格为标识符,
[root@localhost ~]# ll |tail -n +2|tr -s " "|cut -d" "  -f3,9
root anaconda-ks.cfg
root bc
root Desktop
root Documents
root Downloads
root initial-setup-ks.cfg
root Music
root Pictures
root Public
root Templates
root Videos

只要查看各分区使用百分比
[root@localhost ~]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  31441920 3560892  27881028  12% /
devtmpfs                  1916740       0   1916740   0% /dev
tmpfs                     1932652       0   1932652   0% /dev/shm
tmpfs                     1932652    9280   1923372   1% /run
tmpfs                     1932652       0   1932652   0% /sys/fs/cgroup
/dev/sda1                15718400  182360  15536040   2% /boot
/dev/mapper/centos-home  15718400   33052  15685348   1% /home
/dev/mapper/centos-var   15718400  159124  15559276   2% /var
tmpfs                      386532       4    386528   1% /run/user/42
tmpfs                      386532      24    386508   1% /run/user/0
/dev/sr0                    57192   57192         0 100% /run/media/root/VMware Tools
第一种  从第2行显示并压缩空格为1个空格,以空格为标识符,显示第五列,并删除%
[root@localhost ~]# df |tail -n +2|tr -s " " |cut -d " " -f5|tr -d %
12
0
0
1
0
2
1
2
1
1
100
第二种  从第二行显示,用%替换空格键并合并成一个,然后以%为标识符显示第5行
[root@localhost ~]# df|tail -n +2 |tr -s " " % |cut -d % -f5
第三种从第二行开始显示,并显示第53 54和55字符
[root@localhost ~]# df |tail -n +2 |cut -c53,54,55
 12
  0
  0
  1
  0
  2
  1
  2
  1
  1
100


字符可通过选择复制该行字符,在shell左下角会有显示字符位置
基本命令(补)

上一篇:P1486 [NOI2004] 郁闷的出纳员【Splay】


下一篇:二、SpringCloud学习 -- 环境搭建