【发布时间】:2014-07-28 03:15:11
【问题描述】:
我正在使用 sed 'w' 命令从 TeX 文档中获取标签:
/\\label{[a-zA-Z0-9]*}/w labels.list
这个脚本是管道的一部分,稍后,awk 会在管道中读取 sed 刚刚写入的文件。例如
cat bob | sed -f sedScript | awk -f awkScript labels.list -
管道有时会产生正确的输出,有时则不会(对于完全相同的输入文件“bob”)。这是随机的。
我只能得出结论,有时 awk 会在 sed 正确关闭文件之前尝试读取文件。无论如何我可以强制 sed 在脚本末尾关闭文件,或者关于问题可能是什么的任何其他建议?
【问题讨论】:
-
发布您的输入数据以及您希望从中得到什么。这一切都可以通过一个
awk命令来完成。 PS 不要将cat与sed、awk和其他可以自行读取数据的程序一起使用。 -
敢说我可以在 awk 中完成这一切,但 sed 在某些事情上更容易。我正在尝试将一些人前 LaTeX 时代的 TeX 文件转换为标准的 LaTeX。这是一项艰巨的工作,所以很遗憾发布我的意见无济于事。