【发布时间】:2015-04-08 21:42:22
【问题描述】:
我有以下输入文件:
a 1 o p
b 2 o p p
c 3 o p p p
在最后一行中,最后一个p's 之间有一个双空格,
和列有不同的间距
我使用的解决方案来自:Using awk to print all columns from the nth to the last。
awk '{for(i=2;i<=NF;i++){printf "%s ", $i}; printf "\n"}'
它工作正常,直到它在最后一列达到双倍空格并删除一个空格。
在使用 awk 的同时如何避免这种情况?
【问题讨论】:
-
您想保留空间吗?如果是这种情况,文件是您所显示的单个字符(或至少是恒定宽度)吗?
-
使用
cut代替awk:cut -d ' ' -f 2-。 -
继续使用 awk 有多重要? (通过 awk
-F '[ ]'能解决问题吗?) -
@EtanReisner 不能使用剪切,列可能有不同的间距
-
我不明白?在这种情况下,对
cut重要的唯一间距是第一个列间距。有多少空间会有所不同吗?