00:00
你看我刚才改网卡这个,你看net manager什么的这些它就显示啊,它是这个成功了什么这些东西啊,它会持续不断的监控这web行,那怎么退出来的CTRLC啊,CTRLC退出来啊,你再敲它还是一直监控这尾部这这几行啊,尾部这这十行啊。这是讲这个叫T-F啊呃,还有什么呢?呃,还有你比如说啊,咱们有这个,呃,Salt这个命令啊salt salt是做排序呢啊怎么叫排序呢?你比如说啊,咱们随便写个文件行test啊。好,这里边已经有一堆东西了是吧,那没关系,接着往后写啊,比如说再写点数字进去啊,啊写几个重复的吧,123123123啊这种的啊好保存退出,这是这个文件秦test啊,那比如说怎么叫排序啊,我sot一下这个琴test这个文件啊,你会发现它自动做了个排序。
01:01
怎么排的呢?他把空行在最前面了,然后一一开头的啊,然后数字是吧,这些,然后字母啊字符它是按阿斯科码那个顺序排的啊,它这个排序呢,就不是原来我的文件内容,你看原来这文件内容是什么样啊,如果我不加salt,我直接看这个叫秦test,你看它是这样无序的,无序的啊,它数字不一定排在前面,后边空行也都无序的,但我要拿salt呢,那排一下呢,你看现没有,它就你看啊,我这扩大点,我拿salt那么一排,他就把这按顺序排了啊,而且注意啊,有的时候说诶这五不是小吗,这12大,怎么12还排前面去了,他不是按照阿拉伯数字那顺序排的啊,他是按照这第一位,他先比较第一位,第一位是一,他认为他就小啊,这个第一位是五,他认为就大他这么排的啊,当然你说有同学老师我这个排序,我就想让他按数字怎么排可以吗?可以啊,你加参数呗,杠N诶你加杠N以后你发。
02:01
前台这边就按阿拉伯数字这123,这这这个大小来排了啊,5:12,这不小就排前面了嘛,是吧?啊,这是salt salt还可以干嘛呢?刚才是正序啊,你再加杠R是反序,你看这这堆空格就排在后边了啊,在生产一线呢,经常支持这个什么呢?你比如说啊呃,ETC下的password这文件你看啊,咱们生产一线很多,因为咱们这个文档里边这都不是表Linux底下好多都用这种,就是分割符啊,你比如说你看这文件啊,你要是这文件你排序能排吗?也可以排,你比如说salt ETC passor,但是它是按首字母排,你说我不想按首字母排可以吗?可以啊,你比如说我想按谁,我想UID排,我想按这一位,这不是从0123字母排吗?可以指定指定什么呢?分割符是谁?然后按第几段排序,这sot都支持啊,你比如说我这个,你看分割符是冒号吧,是吧,这个UID这这是第三。
03:01
列是不是,那怎么做呢?Salt啊首先来说,呃,我应该是什么呢?杠T啊,杠T是指定它这个这个,呃,它那个分格符是什么啊?分割符是什么呢?杠T冒号啊,是这冒号分格符,然后呢,呃,我还要指定什么呢?我要按第几列排啊,那是杠K,就是3ETC下的password啊,我按冒号来分割符排第三列啊,这么排出来了啊,当然你要注意啊,这因为都是数字的,所以呢,你最好在前面加一个什么呢?N表示按数字排,要不然它又会出现按第一位第二位那么排,这么做就对了,这么做啊,这么做杠NK啊,杠T冒号是吧?按冒号分割,然后呢,我按第三列来排,按数字那个大小啊,0123,你看最大的6万多的就排在后边了是吧,所像什么零什么的就排在前面了啊,当然你按倒序也可以啊,是吧,你按倒序。
04:01
前面加1R回车,哎,行了,这root就排最底下了是吧?啊这是salt,然后呢,还有你比如说unique啊,这表示V1啊,你比如说unique你你首先看啊,这个秦test这里边有好多重复的是吧,这都重复的是吧,你如果说我不想要那么多重复的。比如说秦T这个命令这个文件是吧,那你看他就会把这些合并了,给你合并了啊,注意啊,是相邻的给你合并了,相邻的给你合并了啊,那你说我这个合并了多少次啊。你可以看一下这个,我先看一下怎么叫相邻的合并吧,你看心态的,你比如说我这个213是吧,我我在这儿我再写个213。比如我在这儿啊,我再插一行213,注意啊,这个213和这个213它俩中间隔着东西的,它俩不是挨着的,那你要是直接它,你会发现什么呢。
05:03
这个213和这个213并没有合并,它只把相邻的两个合并了啊,相邻两个合并了啊,那么你比如说我我现在UNI我还支持什么呢?合并了多少次啊,它也支持,那么这个参数是什么呢?杠C啊7TEST,你发现它合并完了之后,他会告诉你,比如这两个空格我合并了两次,这个空格也合并了两次,Wa这有三我都合并了啊,它会把这个重复的次数这写出来啊,那么这儿呢,你就可以用管道,咱们前面不说了,管道可以配合这命令一块用,你比如说什么意思呢?我可以按这个谁合并次数多少这顺序我再排一个,因为它不是在第一列嘛,是吧,这个结果出来之后,我再sot排个序,那我就知道了啊,谁合并的多呀,这两个这两个都合并了三次是吧?啊,这个合并一次啊,有的同学说老师你这这空格怎么没合并啊,因为当时合并的时候这两个没挨着,这些空格之间都没有挨着啊,都没有挨着啊,有的说老师我能不能让。
06:04
他一样的就就它虽然没挨着,我也想让它合并,能行吗?也可以啊,你仔细想想就行了,你可以先salt,你可以先salt这个这个文件啊,这样一排序,它一样的东西肯定都在一块儿了,是吧,然后你再做这个UNI,再做UNI,你发现它就都合并了。它肯定是一样都合并出来,杠C你看一眼,你看六个空格全都合并了,为什么?因为你先做的salt嘛,先排的序,它一样的肯定在一起了,你再做UN,可他合并在一起了,所以说这个先后顺序对结果也是有影响的啊,这个东西慢慢品啊,但是说你现在来说,可能一时半会儿你理解他可能还有一些困难,到后边有一些这个程序,什么shell脚本上来之后,你可能理解它就稍微好一点了啊,咱们前面这个初级课程讲的都是这些,呃,就是基础这些东西,到后边一上大型的东西你就明白了啊,包括还有哪些文件的操作呢?嗯,你比如说啊。
07:03
呃,还有这个cut,还有这个TR,这个怎么讲呢?咱们举个例子吧,咱们讲个生产一线例子,你看啊,这个磁盘,我们能把这磁盘整个这个看出来是吧?咱们再生产一线,你比如说我需要写个脚本,我干嘛呢?我监控一下这不跟分区,这是布的分区是吧?我想看一眼布的分区的使用情况啊,如果布的分区大于90%,我就觉得是不是这个布的分区太小了,可能要崩是吧?啊那我要监控这个数值,那怎么来做呢?那首先来说,我要就想把这个数提出来,我就要用它cut,呃,Cut是竖的截段啊,那这个怎么做呢?咱们拿这个生产一线具体例子啊,你比如说我首先我要DF杠打T,把这命令结果写出来是吧?那我肯定监控boot那一行呢,我应该是就看boot这一这一行是吧,然后呢,Boot这行我只想要这一列,这一看又是个表格形式,123456,我只想要第六段这书对吧。
08:03
啊啊,那我要用cut cut是用来这个切割,但是要注意啊,Cut的语法是这样的,Cut cut首先要指定分隔符,有的同学到这就这容易错,你看这分隔符这不空格吗?是吧?那这个cut那个分隔符杠D来指定分隔符空格这么表示啊,这么表示引号引起来,这表示分格符是空格,然后我要第几段杠F几,这是123456第六段啊说那我就这不就明白了吗?把这行你看g Rep找出来,然后切按这个空格为分隔符,切我要第六段,那出来应该67%人一看不是啊,为什么不是呢?错在哪了呢?就错在这儿了,你注意啊,是空格分格符,但是这个里边可不是一个空格。这个空格的数目不一样,你如果是按空格为分格符,它会认为一个空格,这有一个空格是吧?这是一个分隔符,这紧接着又一个分隔符,它会这么理解,所以说这个时候还要用到一个转换参数TR,把这个多个重复的空格合并成一个,那这个怎么做呢?就得在这一位上中间加一段,加一段什么呢?加一段一个TR。
09:16
杠S这个表示什么呢?转换参数啊,转换谁呢?转换空格,如果在这个里边碰到多个空格,转换成单个空格,这一再回撤得出真正结果,这是咱们想要的什么意思呢?我首先把磁盘都列出来,然后找它不T那一行,然后把该合并的空格都合并成一个,然后从里边呢,按空格为分格符,切地度段啊,这个命令我要是给你再这么开,你就明白了,你看见没有,经过这一步的转化之后,命令变成这个样子了,变成这个样子了啊,然后你再来切第六段,这就好切了啊,当然有的时候说说我还能切吗?比如说我写的在share脚本里,我要提这个数据啊,我不想百分号,我只想纯数据,那这怎么做呀?啊,实际上后边咱们真正讲share还会讲这个aw k,它用来截取这个更方便,但如果说用咱们现有的知识也能做,比如说怎么弄,我看是吧,杠地分割符,把分割符指定为这百分号。
10:17
然后呢,杠F1哼,我把这分隔符这2%当分隔符,然后我截第一段,这不就出来就是这纯数字了嘛,是吧?哎,所以说今天讲这管道呢,一定要灵活去用它,灵活的去使用它这些东西啊,生产一线真正去用这种管道去最后得出一个参数,这种需求特别多,尤其咱们后边中级课讲的这个线尔脚本的时候,你要提取某一个数值啊,那么你怎么去提它,一般都是用这种组合,用这种组合啊过滤,然后提取合并,切哪个数据这么着去做啊,包括aw k,有的孩子合着一块去弄这些东西啊,很复杂啊,很复杂,那么初级课咱们先解决这个基本应用问题,到后边的课程你就会觉得很舒服了啊。
11:00
那么这是这个,然后呢,你像这个啊,这个管道还有一种用法什么呢?中间你可以加,就是说你如果说中间某一步的结果,你不知道是什么东西,你还可以加一个T啊,你还以加个T什么意思呢?啊这么来做啊。在这是T是吧,然后呢,比如说一啊,诶,我在这中间加了一段T费一,比如说我在这儿我再加一段,你看我又分割出来了啊T啊feel啊FEEL2是吧,然后呢,我在这个结果后边我再加一段,什么意思啊,他可以把你这个呃,每一个结果集啊,中间单独给你再生成一文件去。啊,他是这意思,你比如说每一步。四啊行回车啊,看上去输出还是这个吧,但你注意啊,哎,我就直接这个K了啊,你看多出来一个FEEL1,然后FEEL2FEEL3,你发现没有这什么意思啊,就是到这一步的结果,它给你转存成了一个文件,转存成费一了,这一步的结果到这儿费一是这个样子,然后到这儿了吧。
12:19
转存,把其到这一步的结果转存成费二,你看转存成费二是这样的啊,到这一步啊,合并空格,转存成这一步的结果转存成费三,T是干这个用的,你看费三就是把这个空格都合并了,到这一步转存成费四,你看到这步转存成费四就是这样啊,最后一步我就没转存,因为直接出结果的啊,这个管道这个用法还是挺灵活的啊呃,还有什么呢?对于这个文件的一些高级处理啊,比如past past合并啊,合并按列合并,这怎么举例呢?你看啊,呃,比如说咱们做一个表,比如说做什么呢?这样啊,做一个文件叫一,这一呢呢写1234556是吧,写六行啊,然后再VM一个二。
13:06
二你写什么呢?秦一秦二秦三秦四秦五秦六,然后呢,我在vim的三啊三呢,你比如说。哎,123,比如说这个叫北京是吧,上海广州是吧,深圳是吧,还有什么重庆啊大连是吧,行这么几个地儿得了,那这三文件啊,这仨文件CAT1CAT2CAT。三是吧,诶啊看三是吧啊,这仨文件我可以给它合并,按什么合并呢?按列合并,要不说一举例你就明白,123这仨文件啪叽一合并,诶这仨文件按照这个列就合成这样了,一秦一北京二秦二上海就变成一表了啊这P的这个文件,这个命令一般做这个用,把这些多个文件合成一个文件,而且是第一行对应第一行,第二行对应第二行,这么着去合啊呃,也就差不多这些吧,就是大体的一些文件的操作,咱们讲到这儿算是差不多了啊,主要就是后期会呃再往细的话,会有一些脚本,包括命令里去综合应用啊,怎么去用salt,你现在来说只要是知道基本语法就够了啊,知道基本这些语法就够了,包括tell什么,怎么去刚还这些都是为咱们后边这个课程打基础的,都是为打基础的,到后边再去用这个的时候,你直接一看就不陌生了啊那好。
14:44
那么这章咱们就讲到这儿。
我来说两句