文档章节

5-5 8 特殊符号 cut sort wc uniq tee tr split

阿想
 阿想
发布于 2017/09/01 22:10
字数 1311
阅读 20
收藏 0
点赞 0
评论 0

8.10 shell特殊符号cut命令

特殊符号

  • “*” 代表零个或多个字符
  • “?” 代表一个字符
  • “#” 注释符号
  • “\” 脱意符号
  • “|” 管道符

cut用法

[root@lixiang01 ~]# cat /etc/passwd |head -2
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@lixiang01 ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1,5
root:root
bin:bin
  • cut分割,用来显示行中的指定部分
    • -d 判定分隔符
    • -f 要那段
    • -c指定第几个字符

8.11 sort_wc_uniq命令

sort 用法

按字符编码表排序

[root@lixiang01 ~]# head /etc/passwd > 1.txt
[root@lixiang01 ~]# vi 1.txt
[root@lixiang01 ~]# sort 1.txt
<
>
@#
2112
222
3421
432
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
{e33
]f
*%$#fs
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
perator:x:11:0:operator:/root:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
sfae
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sjfoen
sync:x:5:0:sync:/sbin:/bin/sync

按字符的数值排序

[root@lixiang01 ~]# sort -n 1.txt
<
>
@#
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
{e33
]f
*%$#fs
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
perator:x:11:0:operator:/root:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
sfae
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sjfoen
sync:x:5:0:sync:/sbin:/bin/sync
222
432
2112
3421

倒置参数:-r

[root@lixiang01 ~]# sort -n -r 1.txt
3421
2112
432
222
sync:x:5:0:sync:/sbin:/bin/sync
sjfoen
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sfae
root:x:0:0:root:/root:/bin/bash
perator:x:11:0:operator:/root:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
*%$#fs
]f
{e33
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
@#
>
<
  • sort 排序,将文件进行排序,并将排序结果标准输出(按ASCⅡ排序需要调整/etc/)
    • -n 以数字排序
    • -r 反序
    • -t分隔符
    • -kn1/-kn1,n2 指定段排序

wc 用法

[root@lixiang01 ~]# 
[root@lixiang01 ~]# wc -m 1.txt 字符数
436 1.txt
[root@lixiang01 ~]# wc -w 1.txt 词汇数(只要不空格就算一个词)
22 1.txt
[root@lixiang01 ~]# wc -l 1.txt 行数
22 1.txt


  • wc 统计,统计并打印换行符,词数,字符数
    • -l 统计行数
    • -m 统计字符数
    • -w 统计词

uniq用法

[root@lixiang01 ~]# vi 2.txt
[root@lixiang01 ~]# sort 2.txt |uniq -c
      3 1
      2 112
      2 123
      1 2
      2 33
      3 4
      2 5
      2 6
  • uniq 去重,
    • -c显示重复数
    • 单独使用只能去重相邻行,常常与sort结合使用

8.12 tee_tr_split命令

tee用法

[root@lixiang01 ~]# >a.txt
[root@lixiang01 ~]# cat a.txt
[root@lixiang01 ~]# sort 2.txt |uniq -c |tee a.txt
      3 1
      2 112
      2 123
      1 2
      2 33
      3 4
      2 5
      2 6
[root@lixiang01 ~]# cat a.txt
      3 1
      2 112
      2 123
      1 2
      2 33
      3 4
      2 5
      2 6
[root@lixiang01 ~]# sort 2.txt |uniq -c |tee -a a.txt
      3 1
      2 112
      2 123
      1 2
      2 33
      3 4
      2 5
      2 6
[root@lixiang01 ~]# cat a.txt
      3 1
      2 112
      2 123
      1 2
      2 33
      3 4
      2 5
      2 6
      3 1
      2 112
      2 123
      1 2
      2 33
      3 4
      2 5
      2 6
  • tee, 和>类似,重定向的同时还在屏幕显示
    • -a 类似追加重定向

tr 用法

[root@lixiang01 ~]# echo "axianglinux" |tr '[al]' '[AL]'
AxiAngLinux

  • tr替换字符,tr'a''b',大小写替换tr‘[a-z]''[A-Z]'

split用法

[root@lixiang01 test]# find /etc/ -type f -name "*conf" -exec cat {} >> a.txt \;
[root@lixiang01 test]# split -b 10000 a.txt
[root@lixiang01 test]# ls
a.txt  xab  xad  xaf  xah  xaj  xal  xan  xap
xaa    xac  xae  xag  xai  xak  xam  xao  xaq
[root@lixiang01 test]# cat a.txt >> b.txt
[root@lixiang01 test]# cat a.txt >> b.txt
[root@lixiang01 test]# rm -f x*
[root@lixiang01 test]# rm -f a*
[root@lixiang01 test]# wc -l b.txt
8662 b.txt
[root@lixiang01 test]# split -l 1000 b.txt  
[root@lixiang01 test]# ls
b.txt  xaa  xab  xac  xad  xae  xaf  xag  xah  xai
[root@lixiang01 test]# wc -l *
  8662 b.txt
  1000 xaa
  1000 xab
  1000 xac
  1000 xad
  1000 xae
  1000 xaf
  1000 xag
  1000 xah
   662 xai
 17324 总用量
[root@lixiang01 test]# 

  • split切割,可以将一个大文件分割成很多个小文件
    • -b大小(默认单位字节),
    • -l行数

8.13 shell特殊符号下

  • $ 变量前缀,!$组合,正则里面表示行尾
  • ; 多条命令写到一行,用分号分割,可以逐个执行并按顺序输出
  • ~ 用户家目录,会把命令丢到后台
  • & 放到命令后面,会把命令丢到后台
  • > >> 2> 2>> &> //正确重定向 正确追加 错误重定向 错误追加 不区分重定向
  • []指定字符中的一个,[0-9],[a-zA-Z],[abc]
  • ||和&&,用于命令之间,

||和&&用法

||表示你不行我来就来,&&表示你先来,可以我就上

[root@lixiang01 ~]# ls 1a.txt ; wc -l 2.txt
ls: 无法访问1a.txt: 没有那个文件或目录
17 2.txt
[root@lixiang01 ~]# ls 1a.txt || wc -l 2.txt //前面命令不成功,继续
ls: 无法访问1a.txt: 没有那个文件或目录
17 2.txt
[root@lixiang01 ~]# ls 1.txt || wc -l 2.txt //前面命令成功则停止
1.txt
[root@lixiang01 ~]# ls 1a.txt && wc -l 2.txt //前面命令不成功,停止
ls: 无法访问1a.txt: 没有那个文件或目录
[root@lixiang01 ~]# ls 1.txt && wc -l 2.txt //前面命令成功,继续
1.txt
17 2.txt

相关测验题目: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并未按ASCII排序 http://blog.csdn.net/zenghui08/article/details/7938975

© 著作权归作者所有

共有 人打赏支持
阿想
粉丝 0
博文 72
码字总数 69742
作品 0
8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee

五周第五次课 8.10 shell特殊符号cut命令 8.11 sortwcuniq命令 8.12 teetrsplit命令 8.13 shell特殊符号下 8.10 shell特殊符号cut命令 cut命令 8.11 sortwcuniq命令 sort-wc-uniq命令 特殊符...

wb_rambo123 ⋅ 01/12 ⋅ 0

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

8.10 shell特殊符号cut命令 8.11 sortwcuniq命令 8.12 teetrsplit命令 8.13 shell特殊符号下 8.10 shell特殊符号cut命令 * 任意个任意字符? 任意一个字符# 注释字符 脱义字符| 管道符 几个和...

JasonYan86 ⋅ 2017/07/04 ⋅ 0

Linux CentOS 7 shell中的特殊字符及与管道相关的命令(cut,sort,wc,uniq,tee,tr,split)

一、 shell特殊符号cut命令 1.特殊符号 * :任意个任意字符? :任意单个字符# :注释 :转义字符| :管道符 2.几个和管道相关的命令 (1) cut cut 把文件分段cat /etc/passwd cut -d: -f 3 /etc...

fengyunshan911 ⋅ 2017/09/08 ⋅ 0

linux shell基础-3

特殊符号 cut sort wc uniq tee tr split 特殊符号 * 任意个任意字符 ? 任意一个字符 注释字符 脱义字符 | 管道符 cut cut命令用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示...

arvinlinux ⋅ 2017/07/02 ⋅ 0

shell特殊符号/cut,sort,wc,uniq,tee,tr,split命令

shell特殊符号cut命令 shell特殊符号 命令cut cut用来截取某一个字段,其格式为:#cut –d ‘分隔字符’[-cf]n,n是数字。 选项: -d 后面跟分隔符,分隔字符要有单引号括起来。 -c 后面接的...

AskZ ⋅ 01/16 ⋅ 0

8.10 shell特殊符_cut命令;8.11 sort wc uniq命令;8.12 tee

8.10 shell特殊符_cut命令 1. 特殊符号: cut命令: -d(分隔符) -f(指定段号) -c(指定第几个字符) 1. 显示前两行,以:(冒号)分割,1,2,3,4段: [root@hao-02 ~]# cat /etc/passwd |head -2 |c...

主内安详 ⋅ 01/12 ⋅ 0

2018-1-12 5周5次课

8.10 shell特殊符_cut命令 * 任意个任意字符 ? 任意一个字符 ?.txt # 注释字符 不生效,说明文字 脱义字符 用在符号前 | 管道符 cut分割 -d 分隔符 -f 指定段号 -c 指定第几个字符 [root@lo...

alexis7gunner ⋅ 01/12 ⋅ 0

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

8.10 shell特殊符号cut命令/8.11 sortwcuniq命令/8.12 teetrsplit命令 任意个任意字符 ? 任意一个字符 注释字符 脱义字符 管道符 cut 分割,-d 分隔符 -f 指定段号 -c 指定第几个字符 sort 排...

夜归人8421 ⋅ 01/12 ⋅ 0

linux的cut、sort_wc_uniq、tee_tr_split命令及一些特殊符号介绍

shell特殊符号cut命令: 1、* 任意个任意字符(这是一个通配符) 2、? 任意一个字符 3、 # 注释字符 4、 脱义字符 5、 | 管道符 几个和管道有关的命令: 1、cut 分割,-d 分隔符 -f 指定段号...

Gary_加油涛 ⋅ 2017/11/17 ⋅ 0

shell特殊符号、cut_sort_wc_uniq命令和tee_tr_split命令

shell特殊符号 * 任意个任意字符 ? 任意一个字符 # 注释字符 脱义字符 | 管道符 $ 变量前缀 , !$ 组合,正则里面表示行尾 ; 多条命令写到一行,用分号分割 ~ 用户家目录,后面正则表达式表...

WiFi362227 ⋅ 2017/11/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部