我有一个像
这样的文本文件word 1334 1234
word word 32423 23423
word 213 234
word word 32423 234234
word 23423 123423
我希望它是这样的,但忽略了时期
word............1334.......1234
word_word.......32423......23423
word............213........234
word_word.......32423......234234
word............23423......123423
在最后一行,我想删除空格,并在shell脚本中将其设置为wordword
或word_word
。我在使用column
,grep
和awk
时遇到了问题。我想我应该通过转换所有空格来将其保存到新文件中
进入word_word
然后使用column -t -s " "
制作相等的空格。
答案 0 :(得分:0)
猜测你的问题意味着“如何通过删除除最后两列之外的列之间的任何空格来强制将这些数据分成三列”,我建议
awk '{ f=""; for (i=1; i<=NF-2; ++i) { f=f $i; $i=""; } $1=f; print }' file
但是,您的最后一行只包含两列,因此会产生异常输出。
$ awk '{ f=""; for (i=1; i<=NF-2; ++i) { f=f $i; $i=""; } $1=f; print }' <<'HERE'
> word 1334 1234
> word word 32423 23423
> word 213 234
> word word 32423 234234
> word 123423
> HERE
word 1334 1234
wordword 32423 23423
word 213 234
wordword 32423 234234
123423
如果您愿意,可以插入文字下划线; f=f "_" $i