背景 处理数据代码出了 bug ,导致以 \t 分割的数据 中第二列的空格符变成了 \t,本来数据都是 n 列,部分错误数据变成了 n+1 列,需要将错误数据恢复正常。 思路 split 分割数据( \t 作为分隔符 ),然后格式化输出,代码如下: cat 8NF_data | awk '{len=split($0,a,"\t") ;print a[1]"\t"a[2]a[3]"\t"a[4]"\t"a[5]"\t"a[6]"\t"a[7]"\t"a[8] }'