Linux centos7 shell特殊符号、cut命令、sort_wc_uniq命令、tee_tr_split命令、shell特殊符号
一、shell特殊符号、cut命令
*任意字符
[root@davery ~]# ls /tmp/*.txt
/tmp/1.txt  /tmp/2.txt  /tmp/q.txt
[root@davery ~]#
?任意一个字符
[root@davery ~]# mkdir /tmp/test1
[root@davery ~]# touch /tmp/test1 
[root@davery ~]# ls -d /tmp/test?
/tmp/test1
[root@davery ~]#
#注释字符
[root@davery ~]# sdx=233 #assa
[root@davery ~]# echo $sdx
233
[root@davery ~]#
\脱义字符
[root@davery ~]# ls -d test\*
ls: 无法访问test*: 没有那个文件或目录
[root@davery ~]#
|管道符,管道后边可用多种命令
[root@davery ~]# cat 1.txt |wc -l
cut用来截取一个字段,格式 cut -d '分隔字符' [-cf] n n代表数字
-d:后边跟分隔字符,分隔字符要用单引号括起来
-c:后边接第几个字符
-f:后边接第几个区块
[root@davery ~]# cat /etc/passwd |head 打印出文件
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@davery ~]# 
[root@davery ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1 截取前2行第1个
root
bin
[root@davery ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1,2 截取前2行第1、2个
root:x
bin:x
[root@davery ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1-3 截取前2行第-到3个
root:x:0
bin:x:1
[root@davery ~]#
[root@davery ~]# cat /etc/passwd |head -2 |cut -c 4 截取前2行指定第4个字符
t
:
[root@davery ~]#
二、sort、wc、uniq命令
sort排序命令,格式sort [-t 分隔符] [-kn1,n2] [-nru] n1、n2为数字。
-t 后边跟分隔符
-n表示用纯数字排序
-r表示反向排序
-u表示去重复
-kn1,n2表示由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序
[root@davery ~]# sort /etc/passwd |head -2 |cut -c 4
:
:
[root@davery ~]# sort /etc/passwd
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
davery:x:1000:1003::/home/davery:/bin/bash
dbus:x:81:81:System message bus:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
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
nobody:x:99:99:Nobody:/:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
uaer1:x:1001:1004::/home/uaer1:/bin/bash
user2:x:1002:1005::/home/user2:/bin/bash
user3:x:1006:1006::/home/user3:/bin/bash
user4:x:1007:898::/home/user4:/bin/bash
user6:x:1008:898::/home/user6:/bin/bash
默认按照abcd...排序
[root@davery ~]# head /etc/passwd >> 0.txt
[root@davery ~]# sort 0.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
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
operator:x:11:0:operator:/root:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
[root@davery ~]#
[root@davery ~]# head -n5 /etc/passwd|sort  从首字母符向后依次按照ASCII码值进行比较,最后按照升序排列
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
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
[root@davery ~]#
[root@davery ~]# head -n5 /etc/passwd |sort -t: -k3 -n     第三个区块按照数字升序排列
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@davery ~]# ^C
[root@davery ~]# head -n5 /etc/passwd |sort -t: -k3 -n -r    第三个区块按照数字反向排列
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
[root@davery ~]#
[root@davery ~]# sort -n 0.txt 从首字母符向后依次按照ASCII码值进行比较,最后按照升序排列
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
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
operator:x:11:0:operator:/root:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
[root@davery ~]#
[root@davery ~]# sort -nr 0.txt  反向排序
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
root:x:0:0:root:/root:/bin/bash
operator: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
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
wc命令
用于统计文档的行数、字符数或词数
-l统计行数
-m统计字符
-w统计词数
[root@davery ~]# wc -l /etc/passwd
25 /etc/passwd
[root@davery ~]# wc -m /etc/passwd
1092 /etc/passwd
[root@davery ~]# wc -w /etc/passwd
33 /etc/passwd
[root@davery ~]#
uniq命令,用来删除重复的行。
-c 统计重复的行数
[root@davery ~]# vi 0.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
ioperator:x:11:0:operator:/root:/sbin/nologin
21213
123213
222
222
222
[root@davery ~]# 
[root@davery ~]# uniq 0.txt    222重复的就被删除了
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
ioperator:x:11:0:operator:/root:/sbin/nologin
21213
123213
222
[root@davery ~]#
[root@davery ~]# sort 0.txt |uniq -c
      1 
      1 123213
      1 21213
      3 222
      1 adm:x:3:4:adm:/var/adm:/sbin/nologin
      1 bin:x:1:1:bin:/bin:/sbin/nologin
      1 daemon:x:2:2:daemon:/sbin:/sbin/nologin
      1 halt:x:7:0:halt:/sbin:/sbin/halt
      1 ioperator:x:11:0:operator:/root:/sbin/nologin
      1 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
      1 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
      1 root:x:0:0:root:/root:/bin/bash
      1 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
      1 sync:x:5:0:sync:/sbin:/bin/sync
[root@davery ~]#
三、tee、tr、split命令
tee后边跟文件名,作用类似于重定向>,但它比重定向多一个功能,即把文件写入后面所跟的文件时,还会做显示。
[root@davery ~]# sort 0.txt |uniq -c |tee 2.txt  把前面的东西重定向到2.txt并显示出来
      1 
      1 123213
      1 21213
      3 222
      1 adm:x:3:4:adm:/var/adm:/sbin/nologin
      1 bin:x:1:1:bin:/bin:/sbin/nologin
      1 daemon:x:2:2:daemon:/sbin:/sbin/nologin
      1 halt:x:7:0:halt:/sbin:/sbin/halt
      1 ioperator:x:11:0:operator:/root:/sbin/nologin
      1 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
      1 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
      1 root:x:0:0:root:/root:/bin/bash
      1 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
      1 sync:x:5:0:sync:/sbin:/bin/sync
[root@davery ~]# cat 2.txt
      1 
      1 123213
      1 21213
      3 222
      1 adm:x:3:4:adm:/var/adm:/sbin/nologin
      1 bin:x:1:1:bin:/bin:/sbin/nologin
      1 daemon:x:2:2:daemon:/sbin:/sbin/nologin
      1 halt:x:7:0:halt:/sbin:/sbin/halt
      1 ioperator:x:11:0:operator:/root:/sbin/nologin
      1 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
      1 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
      1 root:x:0:0:root:/root:/bin/bash
      1 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
      1 sync:x:5:0:sync:/sbin:/bin/sync
[root@davery ~]#
tr命令,用于替换字符,常用来处理文档中出现的特殊符号,
-d 删除某个字符,后边要跟删除的字符
-s 删除重复的字符
[root@davery ~]# echo "davery" |tr '[d]' '[D]' 只跟换d为D
Davery
[root@davery ~]#
[root@davery ~]# echo "davery" |tr 'd' 'D'  只跟换d为D
Davery
[root@davery ~]#
[root@davery ~]# echo "davery" |tr '[a-z]' '[A-Z]'  全部换大写
DAVERY
[root@davery ~]#
[root@davery ~]# echo "davery" |tr '[a-z]' '[1]'
]1]]]]
[root@davery ~]# echo "davery" |tr '[a-z]' '1'  变为数字1
111111
[root@davery ~]#
split命令
用于切割文件
-b表示根据大小来分隔文档,默认单位为byte,还有M k
-l根据行数来分隔文档
[root@davery ~]# find /etc/ -type f -name "*conf" -exec cat {} >> 0.txt \;
[root@davery ~]# ls
0.tx~  0.txt.gz   1.txt  3.txt  5036  anaconda-ks.cfg.01  a.txt   davery~  uear1
0.txt  0_txt.swp  2.txt  4913   5159  anaconda-ks.cfg.1   davery  make     user1
[root@davery ~]#
[root@davery ~]# du -sh 0.txt
212K	0.txt
[root@davery ~]#
0.tx~ 0.txt.gz 1.txt 3.txt 5036 anaconda-ks.cfg.01 a.txt davery~ test user1
0.txt  0_txt.swp  2.txt  4913   5159  anaconda-ks.cfg.1   davery  make     uear1
[root@davery ~]# split -b 1000 0.txt
[root@davery ~]# ls
0.tx~               a.txt    xaf  xar  xbd  xbp  xcb  xcn  xcz  xdl  xdx  xej  xev  xfh  xft  xgf  xgr  xhd  xhp  xib
0.txt               davery   xag  xas  xbe  xbq  xcc  xco  xda  xdm  xdy  xek  xew  xfi  xfu  xgg  xgs  xhe  xhq  xic
0.txt.gz            davery~  xah  xat  xbf  xbr  xcd  xcp  xdb  xdn  xdz  xel  xex  xfj  xfv  xgh  xgt  xhf  xhr  xid
0_txt.swp           make     xai  xau  xbg  xbs  xce  xcq  xdc  xdo  xea  xem  xey  xfk  xfw  xgi  xgu  xhg  xhs  xie
1.txt               test     xaj  xav  xbh  xbt  xcf  xcr  xdd  xdp  xeb  xen  xez  xfl  xfx  xgj  xgv  xhh  xht  xif
2.txt               uear1    xak  xaw  xbi  xbu  xcg  xcs  xde  xdq  xec  xeo  xfa  xfm  xfy  xgk  xgw  xhi  xhu  xig
3.txt               user1    xal  xax  xbj  xbv  xch  xct  xdf  xdr  xed  xep  xfb  xfn  xfz  xgl  xgx  xhj  xhv  xih
4913                xaa      xam  xay  xbk  xbw  xci  xcu  xdg  xds  xee  xeq  xfc  xfo  xga  xgm  xgy  xhk  xhw  xii
5036                xab      xan  xaz  xbl  xbx  xcj  xcv  xdh  xdt  xef  xer  xfd  xfp  xgb  xgn  xgz  xhl  xhx  xij
5159                xac      xao  xba  xbm  xby  xck  xcw  xdi  xdu  xeg  xes  xfe  xfq  xgc  xgo  xha  xhm  xhy
anaconda-ks.cfg.01  xad      xap  xbb  xbn  xbz  xcl  xcx  xdj  xdv  xeh  xet  xff  xfr  xgd  xgp  xhb  xhn  xhz
anaconda-ks.cfg.1   xae      xaq  xbc  xbo  xca  xcm  xcy  xdk  xdw  xei  xeu  xfg  xfs  xge  xgq  xhc  xho  xia
[root@davery ~]#
split -b 1000 0.txt abc 指定名字
四、shell特殊符号
$变量前面的标识符,结合!来使用
[root@davery ~]# ls 0.txt
0.txt
[root@davery ~]# !$
0.txt
;符号如果想在一行执行多个命令,则使用;分隔
[root@davery ~]# mkdir test1 ; touch 0.1txt ; touch 0.2txt ; touch 0.3txt
~ 表示用户家的目录,root用户的家目录/root,普通用户/home/username
[root@davery ~]# cd ~
[root@davery ~]# pwd
/root
[root@davery ~]# su davery
[davery@davery root]$ cd ~
[davery@davery ~]$ pwd
/home/davery
[davery@davery ~]$
&把命令放到后台执行需要加&
[root@davery /]# sleep 23 &
[1] 2606
[root@davery /]# jobs
[1]+  运行中               sleep 23 &
[root@davery /]#
重定向符号
>取代 、>>追加 、2>错误重定向 、2>>错误重定向追加
[ ]代表字符组合中的任意一个[0-9],[a-z A-Z],[abc]
&&和||
[root@davery /]# ls 0.txt || wc -l 2.txt 表示或,两个命令其中一个能执行成就行
[root@davery /]# ls 0.txt && wc -l 2.txt 前边命令成功才会执行后边命令
Linux centos7 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 ...
 - shell特殊符号cut命令 sort_wc_uniq命令 tee_tr_split命令 shell特殊符号
		
shell特殊符号cut命令 特殊符号 * 通配符,任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 c=\$a\$b echo $c | 管道符 cat 1.txt |less ...
 - Linux centos7 shell 介绍、 命令历史、命令补全和别名、通配符、输入输出重定向
		
一.shell介绍 shell脚本是日常Linux系统管理工作中必不可少的,不会shell,就不是一个合格管理员. shell是系统跟计算机硬件交互使用的中间介质,一个系统工具.实际上在shell和计 ...
 - 【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 信息没有直接处理能力.然后,传递给下一个命令 ...
 - LInux之Shell工具:Cut、Sed、Awk、Sort
		
一. cut cut的工作就是"剪",具体的说就是在文件中负责剪切数据用的.cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段输出. 1.基本用法 cut [选 ...
 - Linux命令行–基本的bash shell命令
		
启动shell: /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 用户名 用户密码 用户的系统UID 用户的系统GID 用户的全名 用户 ...
 - Shell 命令--文件创建、搜索命令--总结自《Linux Shell 脚本攻略》
		
(一)文件创建命令 1.touch命令 比如:touch abc命令在本地文件夹中创建了一个名为abc的空文件 2.cp命令 cp命令同意我们把一个文件的内容拷贝到同名或不同名的文件里,复制得到的文件 ...
 - linux shell 和linux 命令的区别?windows shell 和 windows 命令呢?
		
shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面. shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起 ...
 - 《Linux命令行与shell脚本编程大全》- 读书笔记3 - 理解shell
		
当用户登录终端的时候,通常会启动一个默认的交互式shell.系统究竟启动哪个shell,这取决于用户配置.一般这个shell都是/bin/shell.默认的系统shell(/bin/sh)用于系统sh ...
 
随机推荐
- Vue.js开发去哪儿网WebApp
			
一.项目介绍 这个项目主要参考了去哪儿网的布局,完成了首页.城市选择页面.详情页面的开发. 首页:实现了多区域轮播的功能,以及多区域列表的展示: 城市选择页面:在这个页面实现了城市展示.城市搜索.城市 ...
 - 关于SQL
			
set nocount on 作用 阻止在结果集中返回显示受t-sql语句影响的行计数信息 set nocount on 不返回计数,set nocount off 返回计数 即使当set nocou ...
 - mysql5.7修改root密码
			
use mysql; update mysql.user set authentication_string=password('123456') where user='root'; flush p ...
 - 单点登录--sso系统
			
SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制 ...
 - ZOJ4117 BaoBao Loves Reading(2019山东省赛)
			
按照计划读书,第i分钟要读第ai本书,起初桌子是空的,所有书都在书架上,如果要读的书不在桌子上,就需要把书从书架上拿到桌子上,如果桌子已经满了,则需要先把桌子上最早读的一本书放回书架,求当桌子容量为k ...
 - 服务器(2)——IIS(2)——IIS Express(1)——IIS跟IIS Express之间的区别和关系
			
在早期开发.NET WEB应用的时候,是需要为应用项目配置一个IIS下的虚拟应用(VS会自动配置,也可以手工指定),但这个要求操作系统必须支持IIS并且安装IIS(WINDOWS 7 HOME版本是不 ...
 - ECMAScript 6 和数组的新功能
			
Array. @@iterator 返回一个包含数组键值对的迭代器对象,可以通过同步调用得到数组元素的键值对 copyWithin 复制数组中一系列元素到同一数组指定的起始位置 entries 返回包 ...
 - java面试(二)
			
1.java常见的容器 几乎所有的容器都继承了Collecton接口,包括List.Set.Queue.Map List包括Vector.ArrayList.LinkedList, Set包 ...
 - pytorch资料
			
torchvision是独立于pytorch的关于图像操作的一些方便工具库. torchvision的详细介绍在:https://pypi.org/project/torchvision/ torch ...
 - Servlet返回的数据js解析问题
			
Servlet返回的数据js解析问题 方式1:Json 接收函数:ajax.responseText后面没括号 其实在之前所说的ajax中还遗留了一些问题就是,Servlet返回给js的数据是如何被j ...