comando grep
Formato 1.grep
grep root passwad 在passwd中过滤root
grep ^root passwd 过滤以root开头的信息
grep root$ passwd 过滤以root结尾的信息
grep -i root passwd 忽略大小写
grep -E "\<root" passwd root字符之前不能有字符
grep -E "root\>" passwd root字符之后不能有字符
grep -3 lebron passwd 显示关键字与其前后三行
grep -n lebron passwd 显示匹配行所在行号
grep -A3 lebron passwd 显示匹配行以及下面3行
grep -B3 lebron passwd 显示匹配行以及上面3行
grep -v 反向过滤
grep root passwd filtro root en passwd
grep -i root passwd filter root en passwd (ignorar mayúsculas y minúsculas)
grep -i ^ root passwd Líneas de filtro que comienzan con root en passwd (ignorando mayúsculas y minúsculas)
grep -i root $ passwd filtra las líneas que terminan con root en passwd (ignorando mayúsculas y minúsculas)
grep -iE “^ root | root $” passwd comienza con root o termina con root
grep -iE "^ root | root $" passwd -v elimina el principio o el final de la raíz
grep -iE "<root" passwd sin caracteres antes de root
grep -iE "root>" passwd sin caracteres después de root
grep -iE "<root>" passwd root no puede tener caracteres antes y después
grep -2 ROOT passwd muestra la línea de la palabra clave y las dos líneas antes y después de ella
grep -B2 ROOT passwd muestra la línea de la palabra clave y las dos líneas antes de ella
grep -A2 ROOT passwd muestra la línea donde se encuentra la palabra clave y las siguientes dos líneas
grep -n ROOT passwd muestra la línea de la palabra clave y su número de línea
2. Reglas de coincidencia de números de caracteres de Grep
w...s w开头,s结尾中间任意3个字符
....s s结尾前面任意4个字符
"ws*" w、s出现任意次
"ws?" w、s出现0-1次
"ws+" w、s出现1-任意次
"ws{5}" 出现5次
"ws{3,5}" 出现3-5次
"ws{,5}" 出现0-5次
"ws{0,5}" 出现0-5次
"ws{2,}" 出现2-任意次
"(ws){2}" “ws”这个字符作为整体出现2次
grep -E "w ... s" westos
grep -E "... s" westos
grep -E "en ..." westos
grep -E "ws *" westos
grep -E "ws?" Westos
grep -E "ws +" westos
grep -E "ws {4}" westos
grep -E "ws {2,4}" westos
grep -E "ws {, 4}" westos
grep -E "ws {3,}" westos
grep -E "(gb) {2}" westos gb aparece dos veces como un todo
grep -E "(gb) {, 2}" westos gb aparece como un todo dos veces como máximo
grep -E "w (gb) {1,2} s" westos entre w y s gb aparece como un todo como máximo dos veces
comando sed
p 打印(需加 -n)
d 删除
a 追加
i 插入
c 更改/替换
w 写入
r 整合文件
's/xx/xx/g' 字符替换
- p imprimir
sed -n '3p' westos muestra la tercera línea de westos
sed -n '3,7p' westos muestra westos de 3 a 7 líneas
sed -n '3p; 7p' westos muestra el contenido de las líneas 3 y 7 de westos
sed -n '$ p' westos muestra la última línea de westos
sed -n '/ ^ daddy / p' passwd líneas de visualización que comienzan con daddy
sed -n '/ bash $ / p' passwd muestra las líneas que terminan en bash
- d eliminar
sed '1,2d' westos elimina las filas 1 y 2 en westos y muestra
sed '1d; 4d' westos elimine las filas 1 y 4 en westos y muestre
sed '/ ^ p / d' westos eliminar la línea que comienza con p en westos y mostrar
sed '/ g $ / d' westos eliminar la línea que termina con g en westos y mostrar
sed '/ g $ /! d' westos eliminar y mostrar las líneas distintas de g que terminan en westos (la operación inversa del paso anterior)
- un apéndice
sed'aoligay 'westos agregar oligay después de cada línea de westos
sed '$ aoligay' westos agregar oligay al final de westos
sed '1aoligay' westos agregar oligay después de la primera línea de westos
sed '/ gg / aoligay' westos / gg / significa agregar después de esta línea
sed '/ pig / aoligay \ nbro' westos \ n es una nueva línea
- yo inserto
i与a的不同在于,a在指定行后追加,i在指定行前插入
sed '3i hhhhhh' westos inserte hhhhh antes de la tercera fila de westos
sed '$ i hhhhhh' westos inserte hhhhh antes del final de westos
sed '/ pig / i hhhhhh' westos inserte hhhhh antes de la línea / pig / en westos
sed '/ pig / i hhhhhh \ ngg' westos inserta hhhhh gg antes de la línea / pig / en westos
- c cambio
sed '$ c dsb' passwd reemplazar la última línea con dsb
sed '/ bash $ / c dsb' passwd reemplazará la línea que termina en bash con dsb
sed '/ ^ lbj / c dsb' passwd reemplazará la línea que comienza con lbj con dsb
- w escribo
sed '/ hey / w archivo' westos
- r integración
sed 'archivo 2r' westos fusiona el contenido del archivo en la segunda línea de westos
sed '$ r file' westos fusiona el contenido del archivo al final de westos
- reemplazar
sed '1,3s / bash / dunk /' passwd Reemplaza bash en las líneas 1 y 3 en passwd con dunk
sed's / lbj / kobe / g; s / bash / gkd / g 'passwd reemplaza todos los lbj en passwd con kobe; reemplaza todos bash con gkd
sed '/ westos /, / zxn / s / bash / hhh / g' passwd reemplaza el bash entre westos y zxn en passwd con hhh
sed /// @ / g 'passwd reemplaza todo / en passwd con @
sed's @ / @: @ g 'passwd tiene el mismo efecto que el comando anterior, excepto que el delimitador se cambia a @
comando awk
格式:
awk -F 分隔符 BEGIN{}{}END{} filename
NR 行数
NF 每行的列数
FILENAME 文件名称本身
“westos” 字符串
$1 指定列数
awk -F: '{print NR}' passwd muestra todas las líneas del archivo
awk -F: '{print NF}' passwd muestra el número de columnas en cada línea del archivo
awk -F: '{print $ 1}' passwd muestra el contenido de la primera columna del archivo
awk -F: '{print FILENAME}' passwd muestra el nombre del archivo (el archivo original se mostrará varias veces si hay varias líneas)
awk -F: '{print “ohou”}' passwd muestra la cadena de entrada (el archivo original tiene algunas líneas y se mostrará varias veces)
/bash$/ 条件:以bash结尾
/条件1/ | | /条件2/ 条件1或条件2
/条件1/ && /条件2/ 条件1、2同时成立
awk -F: 'BEGIN {print "name"} / bash $ / {print $ 1} END {print "over"}' passwd
awk -F: 'BEGIN {print "name"} / bash / ∣ ∣ / nologin / || / nologin/ ∣ ∣ / n o l o g i n / {print $ 1} END {print "over"} 'passwd
awk -F: 'BEGIN {print “name”} / bash $ / || / ^ root / {print $ 1} END {print “over”}' passwd
awk -F: '$ 1 ~ / root / {imprimir $ 1}' passwd
awk -F: ' 7 / nologin 7 ~ / nologin7 / n o l o g i n / {imprimir $ 1} 'contraseña
Deberes
Ejercicio 1:
Enumere todos los nombres de usuario que se pueden usar en el sistema
Ejercicio 2:
Haga un script apache.sh, de modo que después de ejecutar este script, ingrese un número para modificar el puerto httpd para ingresar un número
Ejercicio 3:
Cuente la cantidad de usuarios que pueden ser utilizados por los usuarios del sistema y cuyo directorio de inicio no está en / home