если у меня первая строка файла выглядит так
NAMES n1 n2 n3
между row1 и t1 есть две вкладки, но должна быть только одна...строка в большем файле, она всегда в первой строке. Как мне удалить слишком много вкладки между ROW1 и первой записью после этого, как
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
, а не только между 1-м и 2-м столбцами, используйте
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