У меня было file1
:
MSTRG.10807.1 0.494311896511595 MID 0.423993026403461 2.39379412548345 1.99703339651136
MSTRG.10884.1 0.365770947942799 EARLY 1.46416917664929 1.16816186543633 0.689075392478972
MSTRG.10958.1 0.52855355823638 MID 0.885493751836316 2.28463841550375 1.26867555157512
Я использовал команду sed 's/ /,/g' file1 > file2
, и это произвело file2
:
MSTRG.10807.1,,,0.494311896511595,,,MID,,,,0.423993026403461,,2.39379412548345,,,1.99703339651136
MSTRG.10884.1,,,0.365770947942799,,,EARLY,,1.46416917664929,,,1.16816186543633,,,0.689075392478972
MSTRG.10958.1,,,0.52855355823638,,,,MID,,,,0.885493751836316,,2.28463841550375,,,1.26867555157512
Но я хочу файл с разделителями табуляции.
Если Вы хотите символ табуляции, использовать \t
как шаблон замены вместо ,
.
Если Вы хотите всего, чтобы одна вкладка (или запятая) заменила несколько пробелов, добавить \+
после пространства:
sed 's/ \+/\t/g' file1 > file2
Использовать tr
:
tr -s ' ' '\t' < file1 > file2
- s, - сжимать-повторения
замените каждую последовательность повторного символа, который перечислен в последнем указанном НАБОРЕ с отдельным проявлением того символа