【Script】AWK命令生成大批量数据并记录到文本文件中

AWK命令生成大批量数据并记录到文本文件

示例:
#!/usr/bin/ksh
startnum=0
endnum=100

awk ‘BEGIN{
for (j = ‘1’; j <= ‘900000’ ; ++j)
{
printf “10%08d|9990000006%08d|1000179388|20160311234208|20370101080000|20160311234208|000000000000000|0|20160311234211|\n”,j,j
}
}’ /dev/null >> ./bbb.txt

特殊要点:
$0 表示整个当前行
$1 每行第一个字段
NF 字段数量变量
NR 每行的记录号,多文件记录递增
FNR 与NR类似,不过多文件记录不递增,每个文件都从1开始
\t 制表符
\n 换行符
FS BEGIN时定义分隔符
RS 输入的记录分隔符, 默认为换行符(即文本是按一行一行输入)
~ 匹配,与==相比不是精确比较
!~ 不匹配,不精确比较
== 等于,必须全部相等,精确比较
!= 不等于,精确比较
&&  逻辑与
|| 逻辑或
+匹配时表示1个或1个以上
/[0-9][0-9]+/ 两个或两个以上数字
/[0-9][0-9]*/ 一个或一个以上数字
FILENAME 文件名
OFS 输出字段分隔符, 默认也是空格,可以改为制表符等
ORS 输出的记录分隔符,默认为换行符,即处理结果也是一行一行输出到屏幕
-F’[:#/]’ 定义三个分隔符

猜你喜欢

转载自blog.csdn.net/entrypio/article/details/83507969