8.10 shell特殊符号&cut命令
特殊符号
- “*” 代表零个或多个字符
- “?” 代表一个字符
- “#” 注释符号
- “\” 脱意符号
- “|” 管道符
- “$” 该符号与“!”合用“!$”表示上一条命令中的最后一个变量
- “;” 分隔符,在一行中运行两个及两个以上的命令时使用
- “~” 用户的家目录(root用户“/root”,普通用户“/home/username”)
- “&” 如果想把一条命令直接放到后台运行的话,可以在命令行加上这个符号(通常用于运行时间非常长的命令)
- “[]” 中括号中间为字符组合,代表中间字符中的任意一个。
cut命令
>cut命令用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示文件的内容,类似于下的type命令。
说明:该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut fl f2 > f3将把文件fl和几的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。
语法: cut -d ‘分隔符’ [-cf] n [filename] (这里n是正整数)
-d:指定分隔符号
-f:指定第几段
-c:后面只有一个数字表示截取第几个字符;后面跟一个数字区域,表示截取从几到几(该选项不和d,f共同使用)
[root@adai003 tmp]# cut -c1 1.txt |head -n2
r
b
[root@adai003 tmp]# cut -c1,3 1.txt |head -n2
ro
bn
[root@adai003 tmp]# cut -f1,3 -d ':' 1.txt |head -n2
root:0
bin:1
[root@adai003 tmp]# cut -f1-3 -d ':' 1.txt |head -n2
root:x:0
bin:x:1
8.11 sort、wc、uniq命令
sort命令
>sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。
语法: sort [-t 分隔符] [options] [filename]
Options:
-t:指定分隔符
-n:使用纯数字排序(系统默认所有字母为0)
-r:反向排序
-u:=unique 去重复
-kn1,n2:由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序(n1 < n2)
sort不加任何选项,则从首字符向后,依次以ASCⅡ码值进行比较,最后将它们按升续输出。
[root@adai003 tmp]# head -n3 1.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
[root@adai003 tmp]# head -n3 1.txt |sort
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
wc命令
>wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数。
语法: wc [options] [filename]
Options:
-l:=line 统计行数
-m:=member 统计字符数
-w:=Word 统计词数
[root@adai003 tmp]# wc -l !$
wc -l 2.txt
2 2.txt
[root@adai003 tmp]# wc -m 2.txt
10 2.txt
[root@adai003 tmp]# cat !$
cat 2.txt
1234
qwer
[root@adai003 tmp]# cat -A 2.txt
1234$
qwer$
[root@adai003 tmp]# wc -w 2.txt
4 2.txt
[root@adai003 tmp]# cat 2.txt
1234 456 789,10
qwer
说明: wc -m会统计文件内所有字符,包括隐藏的换行符“&”;wc -w是以空格作为分隔符进行词组统计的。
uniq命令(unique)
>uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用(即:去重复)。
语法: uniq [options] [filename]
Options:
-c:=count 在每列旁边显示该行重复出现的次数
[root@adai003 tmp]# cat !$
cat 2.txt
1234
456 789,10
1234
qwer
456
[root@adai003 tmp]# uniq -c 2.txt
1 1234
1 456 789,10
1 1234
1 qwer
1 456
[root@adai003 tmp]# sort 2.txt |uniq -c
2 1234
1 456
1 456 789,10
1 qwer
说明: 直接使用uniq命令,2.txt内容显示并没有变化,使用sort排序后再用uniq命令,重复行被合并,即:在对文件进行去重之前需要先进行排序!
8.12 tee、tr、split命令
tee命令
>tee命令用于将数据重定向到文件,会删除文件内原有内容,与“>”不同的是,tee会把定向的文件内容显示出来。
语法: tee [options] [filename]
Options:
-a:向文件中重定向时使用追加模式(=“>>”)
[root@adai003 tmp]# cat 3.txt
00000000000
[root@adai003 tmp]# sort 2.txt |uniq -c |tee 3.txt
2 1234
1 456
1 456 789,10
1 qwer
[root@adai003 tmp]# cat 3.txt
2 1234
1 456
1 456 789,10
1 qwer
[root@adai003 tmp]# sort 2.txt |uniq -c |tee -a 3.txt
2 1234
1 456
1 456 789,10
1 qwer
[root@adai003 tmp]# cat 3.txt
2 1234
1 456
1 456 789,10
1 qwer
2 1234
1 456
1 456 789,10
1 qwer
tr命令
>tr命令可以对来自标准输入的字符进行替换、压缩和删除,它可以将一个字符变成另一个字符,也可以将一组字符变成另一组字符。
语法: tr [源字符] [目标字符]
[root@adai003 tmp]# echo "adailinux" |tr 'a' 'A'
AdAilinux 替换一个字符
[root@adai003 tmp]# echo "adailinux" |tr '[al]' '[AL]'
AdAiLinux 替换多个字符
[root@adai003 tmp]# echo "adailinux" |tr '[a-z]' '[A-Z]'
ADAILINUX
split命令
>split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。
语法: split [options] [filename]
-b:指定每一输出档案的大小,默认单位为 byte,可自定义单位,如 split -b 100M filename
-l:指定每一个输出档案的行数多少
eg1: 指定大小
[root@adai003 tmp]# split -b 100 1.txt
[root@adai003 tmp]# ls
xaa
xab
xac
xad
[root@adai003 tmp]# rm -rf x*
[root@adai003 tmp]# split -b 100 1.txt adai.
可以指定文件前缀!
[root@adai003 tmp]# ls
adai.aa
adai.ab
adai.ac
adai.ad
eg2: 指定行数
[root@adai003 tmp]# wc -l 1.txt
20 1.txt
[root@adai003 tmp]# split -l 5 1.txt
[root@adai003 tmp]# ls
xaa
xab
xac
xad
[root@adai003 tmp]# wc -l x*
5 xaa
5 xab
5 xac
5 xad
20 总用量
8.13 shell特殊符号(下)
命令连接符: “||”、“&&”、“;”
- command1 ; command2 : 不管command1是否执行成功都会执行command2
- command1 && command2 : 只有command1执行成功后才会执行command2
- command1 || command2 : 表示command1执行成功后,command2不执行,否则执行command2
相关推荐
本文将深入讲解一些最常用的Shell工具,包括find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed和awk,以及如何利用它们来处理文本。 ### 01 find - 文件查找 `find`命令用于在文件系统中查找符合特定条件的...
包含命令:awk、cat、cut、diff、echo、gawk、grep、head、sed、sort、tac、tail、tr、uniq、wc 可以在windows上cmd窗口显示彩色文字,用法:echo.exe -e "\033[32;1mGREEN\033[0m
- **awk** 是一个强大的文本分析工具,能够处理复杂的文本处理任务。 - 内置变量: - `NR`:记录当前处理行的行号。 - `NF`:记录当前处理行的字段数量。 - `$0`:记录当前处理行的文本内容。 - `$1`:记录当前...
文档中介绍了 Unix 中常用的几种文本处理工具,它们是: - `grep`:用于搜索文本中的模式,支持正则表达式。 - `sort`:对文本行进行排序。 - `uniq –c`:统计并显示重复行的数量。 - `tr`:字符转换工具,常用于...
一、操作系统概述 1、 操作系统 2、 不同应用利于的主流操作系统二、系统安装 1、安装VM虚拟机 ...2.8.6 sort命令 2.8.7 wc命令 2.8.8 uniq命令 2.8.9 tee命令 2.8.10 tr命令 2.8.11 split命令 2.8.12 awk命令
Shell脚本学习中,文本处理工具是不可或缺的一部分,它们能够帮助我们高效地处理文本数据,进行排序、去重、...在实际应用中,还可以结合其他命令如`grep`、`cut`、`tr`等进行组合使用,以满足更丰富的文本处理需求。
mv,mvdir,nl,od,paste,patch,pathchk,pclip,pr,printenv,printf,pwd,recode,rename.pl,rm,rman,rmdir,sdiff,sed,seq,shar,sleep,sort,split,su,sum,sync,tac,tail,tar,tee,test,touch,tr,type,uname,unexpand,uniq,...
`vi` 和 `vim` 是Linux中最常见的文本编辑器之一,支持多种编辑模式,是编写和编辑文本文件的强大工具。 #### 文件压缩及解压缩命令(4个) 1. **tar** - **功能说明**:打包压缩。`tar` 命令是Linux中最重要的...
对于问题3,使用`netstat -nt`获取网络状态,`tr -s ' ' :`将空格替换为":",`cut -d: -f6`提取第六字段(IP地址),`uniq -c`统计唯一IP出现的次数,最后`sort -nr`按降序排列。 在问题4和5中,我们看到了如何编写...
basename dd fmt logname pathchk shred touch wc cat df fold ls pinky sleep tr who chgrp dir groups md5sum pr sort true whoami chmod dircolors head mkdir printenv split tsort yes chown dirname hostid ...
- `tr`:替换文本中的字符,如 `tr 'A-Z' 'a-z' < input.txt > output.txt`。 - `wc`:统计文件的行数、字数和字节数。 - `stat`:查看文件的元信息,如修改时间、大小等。 - `grep`:按行匹配文本,如 `grep '...
- sort命令用于对文本文件中的行进行排序。 - uniq命令用于从文本文件中删除重复行。 - tr命令用于替换或删除字符。 - wc命令用于统计文件中的行数、字数或字符数。 接下来,文件系统的高级管理技巧也是需要掌握的...
linux下大部分常用命令源码,偶正要开始学习-_- base64.c basename.c c99-to-c89.diff cat.c chcon.c chgrp.c chmod.c chown.c chown-core.c chown-core.h chroot.c cksum.c comm.c copy.c cp.c cp-hash.c csplit.c ...
书中可能会涵盖剪切、复制、粘贴、查找替换、格式转换等功能,如vi或vim编辑器的使用,wc用于计算字符、单词和行数,tr和cut用于字符处理,以及sort、uniq和join用于数据排序和合并。这些工具对于处理大量文本数据...
`tr [选项] 字符集1 字符集2`,用于文本转换。 - **expr**:计算字符串表达式的值。`expr [选项] 表达式`,用于数值运算。 - **uniq**:从排序文件中删除重复行。`uniq [选项] 文件`,用于数据清洗。 - **wc**:显示...
还提供了Shell的命令如cat、alias、awk、cal、cat、clear、cut、date、df、du、echo、grep、export、file、find、fmt、gunzip、gzip、kill、killall、last、lp、lpq、lpr、ls、ln、ls、ps、pwd、sed、sort、tr、...
### Linux常用命令集详解 #### 引言 随着信息技术的发展,Linux作为一种开源的操作系统,在服务器领域及开发环境中占据了举足轻重的地位。相比于Windows,Linux以其稳定性和安全性著称,并且具备丰富的命令行工具...
- **tr、sed、awk**:强大的文本转换和分析工具。 - **od、split、fmt**:二进制数据展示、文件分割和文本格式化。 - **paste、join、tee**:合并、关联和复制输出。 这些知识点不仅覆盖了Linux系统的基础操作,还...
10. sort命令:对文件的文本内容排序。 11. uniq命令:去除重复行。 12. wc命令:统计文件的行数、单词数或字节数。 13. iconv命令:转换文件的编码格式。 14. dos2unix命令:将DOS格式文件转换成UNIX格式。 15. ...