0.linux小工具grep,cut,sort,uniq,tee,diff,paste,tr,通配符,引号

grep

grep --color=auto 'ec' zss

#查找关键字 并以颜色凸显
-n 关键字行号
-i 忽略大小写
^ 以什么开头
$ 以什么结尾
-v 取反
-B 3 前三行
-A 3 后三行
-C 3 前后三行
-w 以单词搜索 精确搜索
-o 打印关键字

cut 列截取工具

cut -d: -f1,7 passwd

以:为分隔符 显示第一列和第七列

cut -c 1-5 passwd

截取1到5

cut -c 7- passwd

截取7到结束

cat zss | tail -1

查看最后一行

sort 排序

sort -n -t: -k3 1.txt

以:为分隔符 第三列数据 按照升序排序

sort -nr -t: -k3 1.txt

以:为分隔符 第三列数据 按照降序排序
-u 去重
-t 分隔符
-k 第N列
-o 将结果输出到文件中 类似于重定向
-R 随机排序 每次结果都不一样

uniq 只用于去除连续的重复行

i 忽略大小写
-c 统计重复行次数
-d 只显示重复行

tee 从标准输入读取并写入到标准输出和文件

a 追加

grep -v '^#' vsftpd.conf | grep -v '^$'| tee vsftp.conf.bak

去除以#开头的 去除空行 显示并输入到文件

diff 用于逐行比较文件的不同

怎么样改变第一个文件 会与第二个文件一样
-b 不检查空格
-B 不检查空白行
-i 不检查大小写
-w 忽略所有的空格

这个命令看起来好麻烦

diff 也可以用于比较2个文件夹里的内容

如果只是文件夹不比较里面的文件内容

 diff -q zss zss1

有时候需要以一个文件为标准,去修改其他文件,而且位置较多,通过打补丁的方式

diff -u file1 file2 > file.patch

合并模式 查不同 将不同的地方输出

patch file1 file.patch

用打补丁的方式将不同的地方打补丁打上

diff file1 file2 

比较不同 这次就是相同的了
这就很厉害了

paste 合并文件内容

合并2个文件
-d 自定义分隔符
-S 串行输出

cat file1 file2

这还从没用过 看2个文件

tr 字符转换 替换 删除

commands | tr 'a' 'b'

命令结果交给tr处理 搜索a 替换b

tr 'a' 'b' < filename

搜索a 替换b 内容来自于filename

tr options 'a' < filename

删除包含a的内容

常用匹配字符串

a-z 匹配所有小写字母
A-Z 匹配所有大写字母
0-9 匹配所有数字
[a-zA-Z0-9] 匹配所有字母数字

tr ':/' '#' < 1.txt

把:/都替换为# 一对一替换 不会多对一

tr -d 'a-z' < 1.txt

删除所有的小写字母

tr -s 'a-z' < 1.txt

压缩 连续的字母 或者连续的别的东西

ifconfig enp26s0f3 | grep netmask | tr -s ' '|cut -d " " -f3

用tr压缩空格 用cut截取第3行

ctrl c 终止前台运行程序
^z 将前台的程序挂到后台
^d 退出 等价exit
^l 清屏
^a 光标移动到命令行最前端
^e 光标移动到命令行的后端
^u 删除光标前所有的字符
^k 删除光标后所有字符
^r 搜索历史命令 输入关键字

touch file{1..13}.jpg
* 匹配0或多个任意字符
?匹配任意单个字符

[list] 匹配里面的单个字符 或 一组单个字符

[0-9] 0-9
[0-9,10,11] 0-9 1 0 1 1 而不是10 11
[9-2,10] 9-2不匹配 只能从小到大 只有 1 0

[!list] 匹配除了里面的单个字符

{string1,string2,…} 匹配多个字符串

ll file{{0..9},12} 匹配0-9,12

bash中的引号

双引号"" 会把引号的内容当作整体来看待 允许通过$符号引用其他变量值
单引号'' 会把引号的内容当作整体来看待 禁止引用其他变量值 shell中的特殊符号都被视作普通字符
反撇号`` 和$()一样 引号或括号里的命令会优先执行 如果存在嵌套 反撇号不能用

单引号 会直接输出引号内的内容 而双引号 里面有命令会先执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值