Grep:
概念:快速检索/查找
需求:/etc/passwd 文件中查找sshd
grep sshd /etc/passwd
[选项]:
[options]主要参数
-A除了显示符合范本样式的那一行之外,并显示该行之后的内容
Eg:grep -A 5 sshd/etc/passwd
-v或--revent-match 反转查找
-n在显示符合范本样式的那一行之前,标示出该行的编号.
-i或-ignore-case 忽略字符大小写的差别
-q或--quiet或--silent 不显示任何信息
-V或--version 显示版本信息
--help 在线帮助
Find:查找/检索某个文件夹下的匹配文件
语法:find 文件夹的路径 选项
Eg:find/data/ -name'a.txt'
选项:
-name 按照名字查找文件
-type 按照类型查找文件,d:文件夹,f:文件
-size 按照文件/文件夹的大小查找,+10M大于等于10M -10M下于等于10M
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查GIN:Opx">
-ctime -n +n #按文件创建时间来查找文件
-exec 命令 ; -exec 命令 {} + -ok 命令;
-exce mv {} /temp \;
Grep:linux 文本三剑客之一,快速查询文件内容
Find:定位/检索/查询某个文件夹下的文件
Sed:文本三剑客之一,对文件内容进行增删改查
,对文件输出内容进行增删改,并不会修改文件
增:
选项:
a:追加文本信息(追加到下一行)
i:插入文本信息(插入到上一行)
sed '2,4a test' /etc/passwd 2\3\4 行后面都加了test
1.插入
改:
c:新文本替换旧文本
语法:sed 'c 新文本' 文件路径
s: 根据替换模式进行替换,和g一起使用
语法:sed 's/旧单词/新单词/g' 文件路径
s///和s///g
g:如果一行中有多个旧单词,加上g,一行中的旧单词都会被替换,不加g,
每一行的第一个
sed '/java/ s/^/test/g' /data/a.txt 在有java这个单词的行上添加test
sed 's/^/test/g' /data/a.txt 在每一行的开头添加test
删:
ask:文本三剑客之一,文本内容的分析
语法:awk [选项] '条件/函数{print}'文件路径
引号里面分为两大块:条件和打印
条件和打印可以只写一种,但是不能不写
满足条件的去打印
[选项]
-F 分隔符: 按照分隔符进行拆分
-f 脚本路径:获取脚本中的命令并执行
-v 变量名字=值:赋值一个用户定义变量,将外部变量传递给awk
整个引号里面的选项
$0 :打印当前行,打印整行内容
$1-$n :打印第n列
NR:打印行号,从1开始
NF:打印当前行总列数
FS:分隔符:按照什么分割,默认是空格
条件:< > == != >= <=
&& 并且 || 或者
+ - * / % (取余)
条件/函数
命令格式:awk [选项] '内置函数+{action}' 文件
gsub (r,s,num) : 在$0中用s代替r当于sed 's/r/s/g'
gsub(旧单词,新单词,$n)替换第几列的单词,$n可以不写,不写的时候可以替换的所有的旧单词
把文件中的aa替换成gsub。并打印
Awk {gsub(/aa/,"gsub");print}
index(s,t) :返回s中t的第一个位置
length(s) :s的长度
match(s,r):s是否匹配r
split(需要拆分的字符串,集合,按照什么拆分):在fs上将s分成序列a
substr(s,p):返回s从p开始的字符串