linux重要指令

查找特定的文件

find
find path [options] params
作用:在指定目录下查找文件
比如:
find -name a.txt 本目录下搜索a.txt。
find / -name ls 全局搜索文件ls。精确查找
find ~ -name "*.txt" 在用户目录下搜索以.txt结尾的文件。模糊查找
find ~ -iname b* 找到本目录下以b开头的文件,不区分大小写查找
更多使用说明可以 man find

检索文件内容

grep
grep hello a.* 查找以a.开头的包含hello的文件。输出对应那一行。
grep hello 对接下来的输入产生反应,如果输入行包括hello这个字符串,就再显示一次。

管道操作符 |
可将指令连接起来,前一个指令的输出作为后一个指令的输入。
例如:
find ~ | grep a.txt 作用和find ~ -name a.txt一样,是查找用户目录下名为a.txt的文件。
ps -ef | grep bash | grep -v grep -v过滤, 查询bash进程,过滤掉带有字段grep的。
grep 'open\[true\]' hello.log显示该文件中带有 open[true] 的行
grep -o 'name\[[0-9a-z]*\]'筛选出文件中带有name[******]的行

注意

  • 只处理前一个命令正确的输出,不处理错误输出
  • 右边命令必须能够接收标准输入流,否则传递过程中数据会被抛弃。
对文件内容做统计

awk
语法:awk [options] ‘cmd’ file

  • 一次读取一行文本,按输入分隔符进行切片,切片分成多个组成部分
  • 将切片直接保存在内建的变量中,$1,$2… ($0表示行的全部)

例如:
awk '{print $1, $3}' b.txt 显示文本中第一列和第三列的内容。
awk '$2=="20" && $3=="女"{print $1, $3}' b.txt 满足条件时打印出第一行和第三行的内容
awk '($2=="20" && $3=="女") || NR==1 {print $1, $3}' b.txt 带上行头
awk -F "," '{print $2}' b.txt -F以逗号作为分隔符输出第二列

批量替换文本内容

sed
语法:sed [option] 'sed command' filename
全名stream editor,流编辑器
适合用于对文本的行内容进行处理
sed -i 's/^张/李/' b.txt把张换成李,-i是为了在文件中存入改动
sed -i 's/\.$/;/' b.txt 找到以.结尾的行,并将.替换为;
sed -i 's/,/;/g' b.txt -g对整行的内容进行替换,不加只替换每一行的第一个
sed -i '/^ *$/d' b.txt -d删除文件中空行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值