需要使用awk命令自定义输出文件名

时间:2016-01-28 04:05:39

标签: awk

如何通过awk -v RS=$val '{ outfile = "'$filename'""." NR "'.${extension}'"; print > outfile}' $file 命令拆分文件并自定义输出文件的名称?

我试过了,

QSpinBox

1 个答案:

答案 0 :(得分:2)

您可以使用sprintf将文件名创建为

outputfile = sprintf ("filename%03d.txt", NR);

您的脚本中需要注意的一些事项,

  • 您无法直接在awk脚本中访问shell变量,您需要使用awk formate创建-v个变量。

    所以脚本应该像

    awk -v filename=$filename -v extension=$extension '{ outputfile = sprintf (filename"%03d"extension, NR); print > outputfile }'
    
  • awk没有任何特定的concatenation operator,只需将两个字符串拼接在一起就可以了。