8.10-8.13 shell特殊符号

8.10 shell特殊符号cut命令

特殊符号(上):

1.* 代表零个或多个任意字符。

2.? 只代表一个任意的字符(不管是数字还是字母,只要是一个都能匹配出来。)

3.# 这个符号在linux中表示注释说明的意思,即 # 后面的内容linux忽略掉。

4.\ 脱意字符,将后面的特殊符号(例如”*” )还原为普通字符。

5.| 管道符,它的作用在于将符号前面命令的结果丢给符号后面的命令。这里提到的后面的命令,并不是所有的命令都可以的,一般针对文档操作的命令比较常用,例如cat, less, head, tail, grep, cut, sort, wc, uniq, tee, tr, split, sed, awk等等。

wc -l 用来计算一个文档有多少行。

命令 : cut:

用来截取某一个字段

语法: cut -d '分隔字符' [-cf] n 这里的n是数字

-d :后面跟分隔字符,分隔字符要用单引号括起来

-c :后面接的是第几个字符

-f :后面接的是第几个区块

-d 后面跟分隔字符,这里使用冒号作为分割字符,-f 1 就是截取第一段,-f和1之间的空格可有可无。

-c 后面可以是1个数字n,也可以是一个区间n1-n2,还可以是多个数字n1,n2,n3



8.11 sort_wc_uniq命令

命令 : sort

sort 用做排序

语法: sort [-t 分隔符] [-kn1,n2] [-nru] 这里的n1 < n2

-t 分隔符 :作用跟cut的-d一个意思

-n :使用纯数字排序

-r :反向排序

-u :去重复

-kn1,n2 :由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序

如果sort不加任何选项,则从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

-t 后面跟分隔符,-k后面跟数字,表示对第几个区域的字符串排序,-n 则表示使用纯数字排序

-k3,5 表示从第3到第5区域间的字符串排序,-r表示反向排序

命令 : wc

用于统计文档的行数、字符数、词数,常用的选项为:

-l :统计行数

-m :统计字符数

-w :统计词数

wc 不跟任何选项,直接跟文档,则会把行数、词数、字符数依次输出。

命令 : uniq

去重复的行,阿铭最常用的选项只有一个:

-c :统计重复的行数,并把行数写在前面

把下面的内容写入testb.txt, 保存。

使用uniq 的前提是需要先给文件排序,否则不管用。



8.12 tee_tr_split命令

命令 : tee

后跟文件名,类似与重定向 “>”, 但是比重定向多了一个功能,在把文件写入后面所跟的文件中的同时,还显示在屏幕上。

tee 常用于管道符 “|” 后。

命令 : tr

替换字符,常用来处理文档中出现的特殊符号,如DOS文档中出现的^M符号。常用的选项有两个:

-d :删除某个字符,-d 后面跟要删除的字符

-s :把重复的字符去掉

最常用的就是把小写变大写: tr ‘[a-z]’ ‘[A-Z]’

当然替换一个字符也是可以的。

不过替换、删除以及去重复都是针对一个字符来讲的,有一定局限性。如果是针对一个字符串就不再管用了,所以建议只需简单了解这个tr即可,还有更多其他可以实现针对字符串操作的工具。

命令 : split

切割文档,常用选项:

-b :依据大小来分割文档,单位为byte

如果split不指定目标文件名,则会以xaa xab... 这样的文件名来存取切割后的文件。当然我们也可以指定目标文件名:

-l :依据行数来分割文档



8.13 shell特殊符号下

特殊符号(上):

1.$ 除了用于变量前面的标识符外,还有一个妙用,就是和 ‘!’ 结合起来使用。

‘!$’ 表示上条命中中最后一个变量(总之就是上条命令中最后出现的那个东西)例如上边命令最后是testb.txt那么在当前命令下输入!$则代表testb.txt.

2.; : 分号。平时我们都是在一行中敲一个命令,然后回车就运行了,那么想在一行中运行两个或两个以上的命令如何呢?则需要在命令之间加一个 ”;” 了。

3.~ : 用户的家目录,如果是root则是 /root ,普通用户则是 /home/username

4.& : 如果想把一条命令放到后台执行的话,则需要加上这个符号。通常用于命令运行时间非常长的情况。

5.>, >>, 2>, 2>> 前面讲过重定向符号> 以及>> 分别表示取代和追加的意思,然后还有两个符号就是这里的2> 和 2>> 分别表示错误重定向和错误追加重定向,当我们运行一个命令报错时,报错信息会输出到当前的屏幕,如果想重定向到一个文本里,则要用2>或者2>>

6.[ ] 中括号,中间为字符组合,代表中间字符中的任意一个。

7.&& 与 ||

在上面刚刚提到了分号,用于多条命令间的分隔符。另外还有两个可以用于多条命令中间的特殊符号,那就是 “&&” 和 “||”,下面把几种情况全列出:

  1. command1 ; command2
  2. command1 && command2
  3. command1 || command2

使用 ”;” 时,不管command1是否执行成功都会执行command2;

使用 “&&” 时,只有command1执行成功后,command2才会执行,否则command2不执行;

使用 “||” 时,command1执行成功后command2 不执行,否则去执行command2,总之command1和command2总有一条命令会执行。

在做实验前,我们想把所有的 test* 删除掉,可是删除的时候,却提示说权限不够,下面是排除问题的过程:

接下来通过做实验来说明 “&&” 与 “||” 这两个特殊符号的作用:

原文地址:http://blog.51cto.com/13530586/2061072

时间: 2024-09-27 16:47:46

8.10-8.13 shell特殊符号的相关文章

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 # 8.10 shell 特殊符_cut命令 --- - * 任意个任意字符 - ?任意一个字符 -  井号#注释字符  写命令的时候前面加一个#,那么这条命令就不生效,包括shell脚本里面也是,前面加个#表示这一行不生效,可以加一些注释说明的文字 ``` <[email protected] ~># #ls a.txt <[email

五周第五次课(1月12日) 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号

五周第五次课(1月12日)8.10 shell特殊符号cut命令8.11 sort_wc_uniq命令8.12 tee_tr_split命令8.13 shell特殊符号相关测验题目:http://ask.apelearn.com/question/5437 扩展1. source exec 区别 http://alsww.blog.51cto.com/2001924/1113112 2. Linux特殊符号大全http://ask.apelearn.com/question/7720 3. so

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee

五周第五次课 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 8.10 shell特殊符号cut命令 cut命令 8.11 sort_wc_uniq命令 sort-wc-uniq命令 特殊符号都会认为是0 sort -n  以数字排序 sort -n  默认排序 sort -rn 为倒序 wc 命令 uniq命令 原文地址:http://blog.51cto.com/wbyyy/2060163

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_t

8.10 shell特殊符号cut命令 :表示任意个任意字符?:表示任意单个字符#:表示注释字符\ 表示脱义字符| 表示管道符cut命令用来截取某一字段-d 指定分隔符,分隔符用双引号括起来 (-d " :"指定冒号分隔符)-c:指定第几个字符-f: 接的是第几块 8.11 sort_wc_uniq命令sort命令主要用于排序-t :后面加分隔符(与cut -d加分隔符一样)-n:表示纯数字排序-r:反向排序-u :表示去重wc -l :命令表示统计行数uniq -c :命令表示 8.

五周第五次课 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.1

8.10 shell特殊符号cut命令8.11 sort_wc_uniq命令8.12 tee_tr_split命令8.13 shell特殊符号下 shell特殊符号 *为通配符 代表所有 任意字符 ?为单一字符 为注释字符(在配置文件里面 或者是写命令的时候在前面加# 这条命令就不会生效) \脱义字符 取消原来的含义 | 管道符1.管道符相关的命令 $ 变量前缀 ,!$组合,正则里面表示行尾 :多条命令写到一行的时候用分号分隔 -用户家目录,正则表达式里表示匹配符 &把命令放到后台 (>正确

shell 特殊符号介绍

8.10 shell特殊符号&cut命令 特殊符号 "*" 代表零个或多个字符 "?" 代表一个字符 "#" 注释符号 "\" 脱意符号 "|" 管道符 "$" 该符号与"!"合用"!$"表示上一条命令中的最后一个变量 ":" 分隔符,在一行中运行两个及两个以上的命令时使用 "~" 用户的家目录(ro

shell特殊符号cut ,sort_wc_uniq,tee_tr_split命令shell特殊符号

8.10 shell特殊符号cut命令\ 脱义字符 管道符相关的几个命令cut -d命令的用法cut -c命令的用法sort经常要跟uniq结合使用sort的作 用是排序,先从特殊符号开始,再到数字,再到字母sort -n 会以数字排序,特殊符号与字母都会被认为是0sort -nr 1.txt跟上面返过来排序wcvim 2.txt 输入123换行abc,查询的结果是8个字符,包括了换行符号uniq去重,是先排序再去掉重复的tee的用法tee -a 表示追加tr 的用法tr 把字母改为数字,数字只

22.Shell特殊符号和cut,sort,wc,uniq,tee,tr,split命令

五周第五次课(1月12日) 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 相关测验题目:http://ask.apelearn.com/question/5437 扩展 source exec 区别 http://alsww.blog.51cto.com/2001924/1113112 Linux特殊符号大全http://ask.apelearn.com/question/7720 sort

26期20180702 shell特殊符号 cut sort_wc_uniq trr_tr_spli

7月2日任务8.10 shell特殊符号cut命令8.11 sort_wc_uniq命令8.12 tee_tr_split命令8.13 shell特殊符号下相关测验题目:http://ask.apelearn.com/question/5437 扩展1. source exec 区别 http://alsww.blog.51cto.com/2001924/1113112 2. Linux特殊符号大全http://ask.apelearn.com/question/7720 3. sort并未按A