【发布时间】:2011-06-14 02:29:20
【问题描述】:
我正在使用 LaTeX 将 csv 文件转换为 pdf。我的 awk 脚本如下所示:
BEGIN {printf "\\documentclass[a4paper,notitlepage]{report}\n" \
"\\usepackage[utf8]{inputenc}\n"\
"\\usepackage[francais]{babel}\n"\
"\\usepackage[T1]{fontenc}\n"\
"\\usepackage{hyperref}\n"\
"\\usepackage{textcomp}\n"\
"\\usepackage[left=1cm]{geometry}\n"\
..........
{print $1"\n" \
$2"\n" \
$3"\n" \
$4"\t"\
$5"\t" \
$6"\t" \
$7"\t" \
$8"\t" \
$9"\t" \
$10"\n""\\linebreak" \
......
$39"\t"\
$40;}
END {print "\\end{document}";}
我发现了各种类型的命令来删除命令行中的空白行(awk 'NF'、awk '$0!~/^$/ {print $0}')并尝试将它们合并到脚本的末尾使用 BEGIN 和 END 语句的各种组合,但没有任何效果。
有人可以帮忙吗?非常感谢您提前...
【问题讨论】:
-
你能问清楚一点吗?我根本没听懂一个问题。提供一些您的脚本错误处理的 csv 简单示例,并解释究竟是什么不正确,即您希望最终结果是什么。
-
@Max: csv 处理得很好,除了我在每条记录之后、\linebreak 插入之前和 \linebreak 插入之后都有空行。我需要删除那些空白行才能将 .tex 文件正确处理为 pdf。当然,如果我从命令行运行 awk NF filename,它就可以正常工作。但关键是要有一个带有单个脚本的干净文件。
标签: awk duplicates