Linux笔记(shell特殊符号,sort排序,wc统计,uniq去重,tee,tr,split)

本文涉及的产品
转发路由器TR,750小时连接 100GB跨地域
简介:

一、shell特殊符号

*  任意个任意字符

?  任意一个字符

#  注释字符

\  脱义字符

例如:

[root@localhost ~]# a=2

[root@localhost ~]# b=3

[root@localhost ~]# c=$a$b

[root@localhost ~]# echo $c

23

[root@localhost ~]# c=\$a\$b

[root@localhost ~]# echo $c

$a$b


管道符

cut 截取

-d  指定分隔符

-f  指定截取那一段

例如:

[root@localhost ~]# cat /etc/passwd |head -3 | cut -d ":" -f 1-3

root:x:0

bin:x:1

daemon:x:2


$变量的前缀

!$ 正则里面表示行尾


;多条命令写到一行,用;分割


~用户的家目录。正则表达式里表示匹配符


&把命令放到后台


> 正确重定向

>> 正确追加重定向

2> 错误重定向

2>>错误追加重定向

&>正确错误重定向


|| 用在shell中表示或者的意思,如果第一条命令执行成功,则不执行第二条命令。如果第一条命令不成功,则执行第二条命令

&& 当前面的命令执行成功时,才执行后面的命令

[root@localhost ~]# ls

1.txt  anaconda-ks.cfg

[root@localhost ~]# [ -d litongyao ] || mkdir litongyao   (没有litongyao这个目录,则执行第二条)

[root@localhost ~]# ls

1.txt  anaconda-ks.cfg  litongyao

[root@localhost ~]# [ -d litongyao ] && mkdir litongyao   (存在litongyao目录。在执行时会报错)

mkdir: 无法创建目录"litongyao": 文件已存在


二、 sort_wc_uniq命令


sort  排序

sort + 文件名     (默认是以“阿斯玛”排序)

特殊符号>数字>字母

-n            默认以数字去排序(默认字母和特殊符号为0,所以会排在最前面)

-r            反序排序



wc     统计

-l            统计行数

-m            统计字符数 (隐藏的换行符也算   用cat -A 查看隐藏符号)

-w            统计字符串 (默认以空白格或,为分隔符)

 

uniq    去重  (但是要先排好顺序,所以一般和sort一起用)

[root@localhost ~]# uniq 1.txt 

1

2

3

1

2

3

1111

2222

3333

111

[root@localhost ~]# sort 1.txt | uniq 

1

111

1111

2

2222

3

3333


 uniq -c       显示重复次数


[root@localhost ~]# sort 1.txt | uniq -c

      2 1

      1 111

      1 1111

      2 2

      1 2222

      2 3

      1 3333


三、tee_tr_split

tee 和输出重定>向有点像,但是把重定向的内容打印到屏幕上

-a 追加,和>>相似


tr  替换字符

例如:

[root@localhost ~]# echo "litongyao" |tr '[lty]' '[LTY]'

LiTongYao

[root@localhost ~]# echo "litongyao" |tr '[a-z]' '[A-Z]'

LITONGYAO


split 切割文件

split -b 100M + filename  以文件大小切割 (可以指定文件前缀,默认是x开头)

split -l 1000 + filename  以行数切割











本文转自 小新锐 51CTO博客,原文链接:http://blog.51cto.com/13407306/1982924,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
104 6
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
6月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
326 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
6月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
219 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
8月前
|
Unix Linux 开发工具
linux笔记 diff及patch的制作与使用
这篇文章是关于Linux系统中使用`diff`命令生成补丁文件以及使用`patch`命令应用这些补丁的详细教程和实战案例。
233 2
linux笔记 diff及patch的制作与使用
|
8月前
|
Linux
Linux源码阅读笔记13-进程通信组件中
Linux源码阅读笔记13-进程通信组件中
|
8月前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
150 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
8月前
|
Linux 开发者
Linux源码阅读笔记18-插入模型及删除模块操作
Linux源码阅读笔记18-插入模型及删除模块操作
|
8月前
|
数据采集 Linux
Linux源码阅读笔记20-PCI设备驱动详解
Linux源码阅读笔记20-PCI设备驱动详解
|
8月前
|
Linux
Linux源码阅读笔记19-插入删除模块实战
Linux源码阅读笔记19-插入删除模块实战
|
8月前
|
Linux
Linux源码阅读笔记17-资源分配及总线系统
Linux源码阅读笔记17-资源分配及总线系统
下一篇
oss创建bucket