awk如何将一个文件拆分后输出到多个文件中

awk如何将一个文件拆分后输出到多个文件中,第1张

需要知道拆分的规则,

下面举一个例子:每N行输出到单独的文件

也可以根据不同列,导出到不同文件

或根据正则匹配结果导出不同文件

如果需要多次导出到同一个文件,需要使用

追加符号

>>

awk实例

1、cat /etc/passwd|awk -F: '{print $1}'

2、linux的awk一般都是gawk,/bin/awk ->gawk

3、awk ‘/abc/’ file.txt 显示文件中包含abc行。类似grep abc a.txt

4、awk ‘{print NR,NF,$1,$NF,}’ file.txt按空格分隔列,显示当前记录号、域数和每一行的第一列和最后一列。

-F参数可以设置分割参数,例如按:分割

awk -F: ‘{print $1}’ /etc/passwd

或者cat file|awk -F “|” ‘{print $1}’

5、awk编程语言

cat v.txt|awk ‘{print length($1)}’

6、awk中使用NR和FNR,一般在awk处理多个文件时,NR==FNR才有意义

NF当前记录中的字段数。

NR当前记录数。

FNR同NR,但相对于当前文件。

awk ‘{print NR,FNR}’ test.txt test2.txt

awk ‘{if(NR==FNR){a[FNR]=$1}else{print $1,a[FNR]}}’ b.txt a.txt

7、打印奇数行与偶数行

awk ‘NR%2’ test.txt

awk ‘!(NR%2)’ test.txt

8、杀死tomcat的stop.sh脚本

#!/bin/sh

ps -ef| grep tomcat |grep -v grep | awk ‘{print $2}’ |xargs kill -9

9、打印前7列

cat a.txt|awk ‘{NF=7}1’ >>b.txt

tail -f access.log|awk ‘NF=7′ OFS=’\t’ >>b.txt

cut -d”,” -f3-6 urfile


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11596699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存