grep awk sed 用法(shell三剑客)

    科技2022-08-06  103

    #################################################### (-i 替换) &代表了nologin 打印空行 删除指定行 在这个之前插入 一个是匹配替换,一个是整行替换 ###############################################################

    awk

    1.用sed修改1.txt的23行study为xxx; Sed -i ‘23s/study/xxx/g’ file 2.查看nginx日志50行第三列的内容 sed -n ‘50p’ /var/log/nginx/access_log |awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 3}̲' 3.删除日志文件里的空行 …/d’ file 4.删除日志文件里的开头的行 Sed -i ‘1d’ file 5.写一个每天0点执行的删除nginx日志的脚本,保留最近七天的日志 Crontab -e 00 00 * * * find /var/log/nginx/access_log -mtime +7 -exec rm -f {} ; 6.查找名字为error.log的日志文件 Find / -name error.log 7.有一个文件,文件第二列为数字,查找第二列大于100的行? cat cccc|awk '{if($2>100){print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲}' 8.假如系统有100个系…i done 9.用iptable限制只有ip为192.168.0.55的IP访问本机22端口 iptables -I INPUT -p tcp --dport 22 -j DROP Iptables -I INPUT -s 192.168.0.55 -p tcp --dport 22 -j ACCEPT 10.查询文件里包含hhh的行并所在行的行号 grep -n hhh file 11.计算1到100相加 seq 100|awk ‘{i=i+$1}END{print i}’ 12.查找系统内文件大于60K小于100K的文件,并删除他们 Find / -size +50k -a -size -100k -exec rm -rf {} ; 13.统计nginx日志每个iP出现的次数 Cat /var/log/nginx/access_log |awk ‘{print $1}’|sort -n|uniq -c 14.统计log目录下以test开头的100个文件,然后把这100个文件的第一行保存到aaa这个文件中 find ./ -type f -name “abc*” |head -n 100|xargs head -1 -q > new 15.文件如下 111 aaa 111 222 333 111 打印数量超过三次的行 cat file|sort |uniq -c|awk '{if($1>3){print $2}}’ 16.系统里如何查看某个包是否安装 Rpm -qa |grep ‘包’ 17.shell获取内存 CPU 硬盘 #!/bin/sh free -m | awk ‘NR2{printf “Memory Usage: %s/%sMB (%.2f%%)\n”, $3,$2,$3*100/KaTeX parse error: Expected 'EOF', got '}' at position 3: 2 }̲' df -h | awk 'NF"/"{printf “Disk Usage: %d/%dGB (%s)\n”, $3,$2,$5}’ top -bn1 | grep load | awk '{printf “CPU Load: %.2f\n”, KaTeX parse error: Expected 'EOF', got '}' at position 7: (NF-2)}̲' 18.grep获取不包含a…d’ file

    Processed: 0.009, SQL: 8