【发布时间】:2013-05-13 20:34:12
【问题描述】:
input.txt 中有超过 400,000 个字段,由空格分隔。
例如0 2 1 1 1 2 重复了 400,000 次。
我需要像021112一样把它们放在一起。
我该怎么做?
【问题讨论】:
input.txt 中有超过 400,000 个字段,由空格分隔。
例如0 2 1 1 1 2 重复了 400,000 次。
我需要像021112一样把它们放在一起。
我该怎么做?
【问题讨论】:
有很多方法可以做到这一点,最简洁的方法是使用tr 删除所有空格:
tr -d ' ' < file > outfile
或者sed:
sed -i 's/ //g' file
警告:sed 解决方案会用更改覆盖原始文件。
既然您询问了awk,一般的解决方案是设置一个空白OFS 并使用$1=$1 强制重建,但它并不像前两个解决方案那样优雅:
awk '{$1=$1}1' OFS= file > outfile
【讨论】:
s/[[:space:]]//g而不是s/ //g(或tr -d '[:space:]')