小知识:
{print $4}是取第4列并输出到屏幕,
$NF 最后一列, $0 整行, NR 第几行
题目:result.dat文件内容如下
xiaoming 89 English
Xiaohua 90 math
xxx 55 chainese
yyy 89 mengyao
yyy 76 lisa
kk,ko 90 j
**awk**
cat result.dat |awk '{if ($2 > 60) print $1,$3}'
使用awk打印大于60分的学生名字和科目
sed -n '3p' a.log |awk -F, '{print $2}'
打印a.log文件的第三行的, 以’,‘为分割符的第二列
awk 'END{print NR}' a.log
cat a.log|wc -l
求a.log的行数
awk '{if (NR>=2 && NR<=5) print $0}' a.log
sed -n '2,5p' a.log
打印a.log文件的第2~5行
awk '{if (NR>=2 && NR<=5) print $1,$3}' a.log
打印a.log文件的第2~5行,的第一列,第三列,(逗号默认是以空格将$1 $3分开)
awk '{if (NR>=2 && NR<=5) print $1":"$3}' a.log
打印a.log文件的第2~5行,的第一列,第三列,(以 : 键将$1 $3分开)
awk 'NR==2' a.log
sed -n '2,2p' a.log
打印a.log 第二行内容
awk '$2==90' a.log 打印第二列是90的行
kill所有rfToll_press.py进程
ps -ef | grep rfToll_press | awk '{print $2}'| xargs kill -9
ps aux|grep rfToll_press.py|grep -v grep|awk '{print $2}'|xargs kill -9
**sed**
sed -i '100s/aaa/bbb/g' c.txt 将文件里的100行的aaa,修改成bbb
sed -i "s/mm/xx/g" a.go //修改文件内容
sed -n '5,8p' data.txt > 2.dat 将data.txt文件里面的第5~8行输出到2.dat文件里面
sed -i '/qw/a123' a.log // a:在a.log文件qw行的后面加入一行 123
sed -i '/qw/i456' a.log // i:在a.log文件qw行的前面加入一行 456
cat a.log |sed '2,5d' //查看a.log文件,且不显示2~5行内容
**find**
find . -name a.go|xargs grep "nnnn" 找到a.go文件里 含有nnn 行的内容
find . -name "*.c" 将当前目录及其子目录下所有文件后缀为 .c 的文件列出来
find . -type f 列出当前目录及其子目录下所有文件
find . -type f -size +800M 查看当前目录下>800M的文件
测试常用命令awk&sed&find
于 2023-05-08 15:59:22 首次发布