我有大量额外空格或双标签等文件。是否可以将所有这些更改为制表符分隔?
我试过这个
awk -v OFS='\t' '{print $0}'
输入
E 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
答案 0 :(得分:3)
sed -r 's/\s+/\t/g' file
如果您的sed不支持\s
使用[[:space:]]
。
或者:
awk -v OFS='\t' '{$1=$1}1' file
awk脚本也会删除前导和尾随空格。
答案 1 :(得分:2)
尝试:
sed 's/ \+/\t/g' file
例如
kent$ echo "a b c d"|sed 's/ \+/\t/g'
a b c d