从向量中获取标签

从向量中获取标签

如果我的文件的第一行看起来像这样

NAMES           n1  n2  n3

第 1 行和第 1 行之间有两个标签,但应该只有一个标签...该行位于较大的文件中,它始终位于第一行。我如何才能删除第 1 行和之后的第一个条目之间的过多标签,例如

NAMES   n1  n2  n3

答案1

使用perl

perl -pe 's/^(\w*)\t\t/$1\t/' <your_input_file>

添加-i内联替换开关

perl -i -pe 's/^(\w*)\t\t/$1\t/' <your_input_file>

要替换所有内容\t\t(不仅是第一列和第二列之间),请使用

perl -i -pe 's/\t\t/\t/' foo

\t或者用大于 1 的计数替换所有

perl -i -pe 's/\t{2,}/\t/g' foo

例子

$ printf "%s\t\t%s %s\n" "foo" "bar" "foobar" > foo
$ perl -i -pe 's/^(\w*)\t\t/$1\t/' foo
$ cat foo
foo     bar foobar    

或者用你的例子:

$ printf "%s\t\t%s %s %s\n" "ROW1" "t1" "t2" "t3" > foo
$ perl -i -pe 's/^(\w*)\t\t/$1\t/' foo
$ cat foo
ROW1    t1 t2 t3

相关内容