文本处理
文本排序 sort(字典顺序)
- -n 按数值大小排序
- -u 对排序后相同的行只保留一行
- -r 按逆序输出排序结果
对文件file1以倒序形式排序并显示在屏幕上
sort –r file1或 cat file1 | sort -r
对文件file1排序并删掉重复的行
sort –u file1 或 cat file1 | sort -u
对数值文件file2按数值从小到大进行排序
sort –n file2 或 cat file2 | sort -n
文本去重 uniq
- -d 只显示重复行
- -u 只显示不重复行
- -c 显示重复出现的次数
使用uniq命令对文件file1去重后输出
sort file1 | uniq
查看文件file1中重复的数据内容
sort file1 | uniq -d
查看文件file1中不重复的数据内容
sort file1 | uniq -u 来显示当前工作目录的
文本查找 grep
grep [选项] [字符串] 文件名
- -c 只显示匹配的行数
- -l 忽略字母大小写
- -n 输出时加行号
- -v 反转查找
在/etc/adduser.conf文件中,查找含有adduser字符的行
grep adduser /etc/adduser.conf
在adduser.conf文件中,查找不含"#"的行并列出行号
grep -vn "#" /etc/adduser.conf
在adduser.conf文件中,查找含有adduser字符的行数
grep -c adduser /etc/adduser.conf
文本剪切 cut
cut -f List -d Character 文件
-f 获取被定界符隔开后指定的字段列表 `f代表field` -d 指定分隔字符 `d代表delimeter`
将 PATH 变量值取出,使用cut命令找出第五个路径
$echo $PATH /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11/bin:/usr/games: # 1 | 2 | 3 | 4 | 5 | 6 | 7
echo $PATH | cut -d ':' -f 5
列出第3与第5
echo $PATH | cut -d ':' -f 3,5
获取 export 命令输出信息的第 12 字符以后的内容
export | cut -c 12-
取12-20个字符
cut -c 12-20
显示文件/etc/passwd中的用户登录名和用户名全称字段
cut –f 1,5 –d : /etc/passwd
文本比较 diff
diff [选项] 文件1 文件2
- -c 以context模式显示比较的结果,相对normal
- -y 以并列的方式显示文件的异同之处
- -w 与选项-y一起使用,指定列宽
diff命令--context模式
diff -c file1 file2
文件查找
find
在硬盘上查找文件或目录
在当前目录下,查找属于user01用户的文件和目录
find . -user user01
查找当前目录及其子目录下所有最近2天内更新过的文件
find . -ctime -2
locate
后台数据库中按文件名搜索
-n 显示查找结果的个数
查找前3个文件passwd所在位置
locate -n 3 passwd
- 对于刚建立的文件,立即使用locate进行查找将会搜索不到所创建的文件,因为后台数据库一天更新一次;
- 若想使刚创建的文件能被立即搜索到,必须以root登陆,然后运行updatedb命令更新数据库。
查找指定文件位置: whereis
- -b 只查找二进制文件
- -m 只查找说明文件
- -s 只查找源代码文件
文件压缩
gzip
- -c 将输出写到标准输出上,并保留原有文件
- -d 将压缩文件解压
- -r 递归式地查找指定目录并压缩,解压缩
用gzip命令将/home/lisi目录下的文件压缩
# gzip /home/lisi/*
用命令将/home/lisi目录下所有的.gz文件解压缩
# gzip -d /home/lisi/* # gunzip /home/lisi/*
bzip2(压缩效果略好于gzip)
- -d 解压缩选项
- -v 显示压缩或解压缩的过程
- -f 当文件重名时,进行覆盖
使用bzip2命令压缩/home/lisi/目录下的文件
# bzip2 /home/lisi/*
使用bzip2命令解压缩/home/lisi/目录下的文件
# bzip2 -d /home/lisi/*
tar包
将多个文件或目录打包成一个文件
- -z 用
gzip
命令进行压缩/解压缩 - -j 通过
bzip2
命令进行压缩/解压缩 - -C 指定解压目录
- -c (压缩)创建新的备份文件,备份目录或文件时必选项(压缩)
- -f 对普通文件进行操作(必选)
- -r 向备份档文件追加文件
- -x (解压缩)从备份档文件中解出文件
- -t 列出备份文档中所含的文件
- -v 列出处理过程中的详细信息
把/boot目录下文件和子目录打包,打包文件名为usr.tar
# tar -cvf usr.tar /boot
把/boot目录下文件和子目录打包,并用gzip算法进行压缩,文件名为usr.tar.gz
# tar -zcvf usr.tar.gz /boot
把usr.tar.gz这个打包文件还原并解压缩
# tar -zxvf usr.tar.gz
把/boot目录下的文件和子目录打包,并用bzip2算法进行压缩,文件名为usr.tar.bz2
# tar -jcvf /boot usr.tar.bz2
把usr.tar.bz2解压缩到目录/tmp
# tar -jxvf usr.tar.bz2 -C /tmp
查看usr.tar备份文件的内容,并显示在显示器上
# tar -tvf usr.tar
将文件/root/abc/d添加到usr.tar包里面去
# tar -rvf usr.tar /root/abc/d