shell特殊符号cut命令 sort_wc_uniq命令 tee_tr_split命令 shell特殊符号
shell特殊符号cut命令
特殊符号
* 通配符,任意个任意字符
? 任意一个字符
# 注释字符
\ 脱义字符
c=\$a\$b
echo $c
| 管道符
cat 1.txt |less
cat 1.txt |more
cut 截取字符串
显示头2行
cat /etc/passwd |head -2
切割":"第一段 cut -d ":" -f 1
切割两断:cut -d ":" -f 1,2
把etc/passwd 下前两行,以冒号切割1到三段
cat /etc/passwd |head -2 |cut -d ":" -f 1-3
root@localhost:~# cat /etc/passwd |head -2 |cut -d ":" -f 1,2
root:x
bin:x
root@localhost:~# cat /etc/passwd |head -2 |cut -d ":" -f 1-2
root:x
bin:x
root@localhost:~# cat /etc/passwd |head -2 |cut -d ":" -f 1-3
root:x:0
bin:x:1
cut 指定第几个字符:
cut -c 4
root@localhost:~# cat /etc/passwd |head -2 |cut -c 4
t
:
sort_wc_uniq命令
sort 排序 -n 以数字排序 -r 反序
sort /etc/passwd 按照首字母排序
取文件内容前10行写到1.txt
head /etc/passwd > 1.txt
vim 1.txt 编辑,写入几个特殊符号 * 《》 <>?
sort 1.txt
默认是特殊符号排在前面,然后是数字,字母先后顺序,*号排在后面
sort -n 1.txt
会以数字排序,字母和特殊符号会认为是0
sort -nr 1.txt 反序排序 最大的在前面
sort -t -kn1/-kn2 分隔符 指定第几段排序
wc -l 统计行数
wc -m 统计字符数
root@localhost:~# wc -l 1.txt
19 1.txt
root@localhost:~# wc -m 1.txt
432 1.txt
root@localhost:~# vim 2.txt
输入
abc
123
:wq
root@localhost:~# wc -m 2.txt
8 2.txt
root@localhost:~# cat -A 2.txt
abc$
123$
每一行都有一个换行符 $
wc -w 2.txt 统计单词数,是以空白字符区分的
root@localhost:~# wc -w 2.txt
2 2.txt
uniq (unique) 2.txt 去重复
root@localhost:~# uniq 3.txt
1
222
333
4
56476
root@localhost:~# cat 3.txt
1
1
1
222
333
4
4
56476
先排序,再统计。
统计出现重复的次数:
sort 2.txt |uniq -c
root@localhost:~# sort 3.txt |uniq -c
3 1
1 222
1 333
2 4
1 56476
tee_tr_split命令
管道|tee 和>类似,重定向的同时还在屏幕上显示
作用: 重定向并打印到屏幕上
root@localhost:~# sort 3.txt |uniq -c > a.txt
root@localhost:~# cat a.txt
3 1
1 222
1 333
2 4
1 56476
root@localhost:~# sort 3.txt |uniq -c |tee b.txt
3 1
1 222
1 333
2 4
1 56476
root@localhost:~# cat b.txt
3 1
1 222
1 333
2 4
1 56476
root@localhost:~#
">" 与 “|tee”都可以写入文件
清空a.txt
>a.txt
>>追加 ,|tee -a 也可以追加
|tee -a 追加
root@localhost:~# sort 3.txt |uniq -c |tee -a b.txt
tr替换字符,tr ‘a’'b', 大小写替换tr'[a-z]' ‘[A-Z]’
把xb改成大写的XB
root@localhost:~# echo "xiaobo" |tr '[xb]' '[XB]'
XiaoBo
单独把x改成X
root@localhost:~# echo "xiaobo" |tr 'x' 'X'
Xiaobo
把小写字母改成大写字母
root@localhost:~# echo "xiaobo" |tr '[a-z]' '[A-Z]'
XIAOBO
把所有的字母改成1
root@localhost:~# echo "xiaobo" |tr '[a-z]' '1'
111111
当日志文件800G的话,读取困难,可以切割
把etc下所有conf文件追加到a.txt文件里去
root@localhost:~# find /etc/ -type f -name "*conf" -exec cat {} >> a.txt \;
root@localhost:~# du -sh a.txt
1.1M a.txt
切割文件a.txt ,每个文件100K
root@localhost:~# du -sh a.txt
464K a.txt
root@localhost:~# split -b 100k a.txt
root@localhost:~# ls
a.txt xaa xab xac xad xae
指定文件名前缀
root@localhost:~# rm -f x*
root@localhost:~# split -b 100K a.txt abc
root@localhost:~# ls
abcaa abcab abcac abcad abcae a.txt
切割每1000行一个文件
root@localhost:~# split -l 1000 a.txt
root@localhost:~# ls
a.txt xaa xab xac xad xae xaf xag xah xai xaj xak xal xam
root@localhost:~# wc -l a.txt
12764 a.txt
shell特殊符号
$ 变量前缀,!$组合,正则里面表示行尾
; 多条命令写到一行,用分号分割
~用户家目录,后面正则表达式表示匹配符
&放到命令后面,会把命令丢到后台
写入重定向> , 追加重定向>> &>(错误重定向和正确 重定向输出)
[] 指定字符中的一个,[0-9],[a-zA-Z],[ABC]
|| 和 &&,用于命令之间
[root@localhost ~]# for i in `seq 1 10`
> do
> echo $i
> done
1
2
3
4
5
6
7
8
9
10
多条命令用分号分割
[root@localhost ~]# for i in `seq 1 10`;do echo $i ; done;
1
2
3
4
5
6
7
8
9
10
|| 表示或,如果前面的命令执行成功,后面的命令不执行;如果前面的命令执行不成功,继续执行后面的命令
[root@localhost ~]# ls la.txt||wc -l 1.txt
ls: 无法访问la.txt: 没有那个文件或目录
0 1.txt
[root@localhost ~]# wc -l 1.txt ||ls la.txt
0 1.txt
&& 如果前面的命令成功,就会执行后面的命令;如果前面的命令执行失败,就不会执行后面的命令。
有假就不会执行后面的。
[root@localhost ~]# ls la.txt && wc -l 1.txt
ls: 无法访问la.txt: 没有那个文件或目录
[root@localhost ~]# wc -l 1.txt && ls la.txt
0 1.txt
ls: 无法访问la.txt: 没有那个文件或目录
判断目录是否存在
[-d xiaobo] || mkdir xiaobo
如果xiaobo目录不存在,就会创建目录。
如果目录存在,就不会创建目录。
shell特殊符号cut命令 sort_wc_uniq命令 tee_tr_split命令 shell特殊符号的更多相关文章
- shell特殊符号及cut、sort_wc_uniq、tee_tr_split命令 使用介绍
第6周第2次课(4月24日) 课程内容: 8.10 shell特殊符号cut命令8.11 sort_wc_uniq命令8.12 tee_tr_split命令8.13 shell特殊符号下 扩展1. s ...
- 特殊符号 sort_wc_uniq命令 tee_tr_split命令
* 任意个 任意字符 ? 任意一个字符 # 注释字符 \ 转意符 | 管道符 (之前有说过) cut 命令: cut -d "&quo ...
- 【Linux命令】文本文件编辑命令10个(cat、more、less、head、tail、tr、wc、stat、cut、diff)
目录 cat查看文档 more可分页查看文档 less相比较more功能更强大 head查看文档的前N行 tail查看文档的后N行或试试刷新查看 tr替换文本字符 wc统计文本行数 stat查看文档存 ...
- linux shell 管道命令(pipe)使用及与shell重定向区别
管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandarderror 信息没有直接处理能力.然后,传递给下一个命令 ...
- shell中的内建命令, 函数和外部命令
转自shell中的内建命令, 函数和外部命令 Shell识别三种基本命令:内建命令.Shell函数以及外部命令: (1)内建命令就是由Shell本身所执行的命令. 有些命令是由于其必要性才内建的 ...
- sed命令详解 vim高级技巧 shell编程上
第1章 sed命令详解 1.1 查找固定的某一行 1.1.1 awk命令方法 [root@znix ~]# awk '!/oldboy/' person.txt 102,zhangyao,CTO 10 ...
- Shell编程(脚本)的经常使用命令和语句
一些经常使用的Shell编程(脚本)命令和语句,能够满足一般需求. 接收到的命令參数: 參数个数: $# 參数值: 命令本身:$0 第一个參数:$1 第二个參数:$2 -- 退出命令: exit ec ...
- 【转】shell中的内建命令, 函数和外部命令
原文:http://www.cnblogs.com/xkfz007/archive/2011/10/13/2209571.html linux命令有内部命令和外部命令之分.内部命令实际上是shell程 ...
- shell编程之算术扩展(引号、命令替换、算术扩展)
1.单引号 .双引号.反引号的区别 单引号:忽略所有特殊字符 双引号:忽略大部分特殊字符($ `等字符除外) [root@tlinux shell]# echo '*' * [root@tlinux ...
随机推荐
- Spring Batch中job的启动,停止,放弃操作
1,启动一个job 运行一个批处理任务至少有两点要求:一个 JobLauncher 和一个用来运行的 job .它们都包含了相同或是不同的 context .举例来说,从命令行来启动job,会为每一个 ...
- Android VLC播放器二次开发2——CPU类型检查+界面初始化
上一篇讲了VLC整个程序的模块划分和界面主要使用的技术,今天分析一下VLC程序初始化过程,主要是初始化界面.加载解码库的操作.今天主要分析一下org.videolan.vlc.gui.MainActi ...
- Maven 解决 下载项目 compiler 为1.5的问题
在 开发Maven 项目的时候,会发现个问题,就是下载下来的项目默认 compiler 为1.5 ,项目报错. 明明之前开发用的是1.7的啊. 这里只需要在pom.xml确定下就好了. <pro ...
- C#使用双缓存减少界面闪烁
场景:一个panel中动态加载多个自定义控件item,类似QQ聊天窗口 问题:加载panel时界面会卡顿,先显示阴影再显示界面:移动滚动条时item会闪烁 解决方法: panel 添加方法,减少界面闪 ...
- C#中[] 、List、Array、ArrayList等数据结构的差异简述
[] 是针对特定类型.固定长度的. List 是针对特定类型.任意长度的. Array 是针对任意类型.固定长度的. ArrayList 是针对任意类型.任意长度的. Array 和 ArrayLis ...
- asp.net无刷新上传(带预览)
1.有个图片 <img id="Image1" title="用于广告栏及图文框缩略图" width="150" height=&qu ...
- 目录_JVM专题
(PS:多为<深入理解Java虚拟机——JVM高级特性与最佳实践>一书的阅读笔记,权记于此以备忘) 纲要: 类加载(加载.连接(验证.准备.解析).初始化) (类的生命周期:除此5个外,还 ...
- 客户端Cookie读取操作
function SetCookie(name,value) { //此 cookie 将被保存 30 天(可活动配置) var Days = 30; var exp = new Date(); ex ...
- 安卓程序代写 网上程序代写[原]BluetoothServerSocket详解
一. BluetoorhServerSocket简介 1. 继承关系 public final class BluetoothServerSocket extends Object implement ...
- 【转载】一文总结学习 Python 的 14 张思维导图
本文主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库,后续会发布相应专题的文章). 首先,按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典 ...