Skip to content

Use awk grep sed

Posted on:October 14, 2023 at 04:06 AM

AWK

awk 程序对输入文件的每一行进行操作。它可以有一个可选的 BEGIN{ } 部分 在处理文件的任何内容之前执行的命令,然后主{ }部分运行在文件的每一行中,最后还有一个可选的END{ }部分操作将在后面执行文件读取完成:
  awk {printf }
	BEGIN{ …. initialization awk commands …}
	{ …. awk commands for each line of the file…}
	END{ …. finalization awk commands 

在 awk 中,第一个字段称为 2,等等,全部行称为 $0。

SED

sed 'Nd' file 删除一行 sed 's/root/admin/g' text.txt 替换root为admin user123

GREP

grep -i //不区分daxiaoxie
grep -r

使用例子

grep "Time:" artifacts/log/Debug/*.log | awk 'BEGIN{printf "%-50s\tTotal\tPassed\tErrors\tFailed\tSkipped\tTime\tLog\n","TestName"} {total+=$4;errors+=$6;failed+=$8;skipped+=$10;time+=$12; printf "%-50s\t%d\t%d\t%d\t%d\t%d\t%.2f\t%s\n",$2,$4,$4-$6-$8-$10,$6,$8,$10,$12,$1} END{printf "%-50s\t%d\t%d\t%d\t%d\t%d\t%.2f\t%s\n","Summary",total,total-errors-failed-skipped,errors,failed,skipped,time,""}' | tee summary.log