【发布时间】:2017-05-11 23:49:12
【问题描述】:
awk '{printf "%-80s %-5s %-50s %-10s %-2s %-10s %-10s %-30s %-9s %-40s %-22s %-12s %-18s", $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $24, $25, $26}1' FS='|' OFS="\t" $path/datafile_1.txt > $path/datafile_2.txt
我有一个以竖线分隔的文本文件作为输入,其中包含某些列,这些列必须根据分配给每个字段的空间来指定。从上面的代码中可以看出,我想以制表符分隔格式打印所有列。 但是当我运行这段代码时,它只输出 13 中的所有列。在第 26 列的末尾,它打印所有列,因为我在末尾给出了 1。 我认为 1 对于以制表符限制格式打印所有列很有用,但它对我没有帮助。 有人有什么建议吗?
【问题讨论】:
-
edit 您的问题包括简洁、可测试的样本输入和预期输出。我们确实不需要需要看到或听到任何包含 26 列的内容来解释和展示您的问题 - 将其减少到大约六列。