добавить табуляцию в определенные столбцы

У меня есть следующие данные, они разделены табуляцией, но я обнаружил, что некоторые столбцы - нет. Как убедиться, что все данные разделены табуляцией?

вот часть данных:

rs987435    C   G   1   1   2   1   20
rs345783    C   G   1   1   1   1   01
rs955894    G   T   2   2   2   2   22
rs6088791   A   G   1   0   1   0   22
rs11180435  C   T   1   1   1   1   10
rs17571465  A   T   2   2   2   2   22
rs17011450  C   T   2   2   1   2   22
rs6919430   A   C   2   2   2   2   22
rs2342723   C   T   0   0   0   0   01
rs11992567  C   T   2   2   2   2   22

Столбцы, начинающиеся с 4-го столбца, должны быть только 0,1,2; как видите, 8-го столбца нет. Мне нужно добавить табуляцию между этими числами, как я могу это сделать в Linux?

0
12.12.2016, 03:13
2 ответа

Поскольку вы используете Linux, у вас будет GNU Sed (в отличие от BSD Sed), поэтому вы можете просто сделать:

sed 's/.$/\t&/' file.txt

Когда вы будете удовлетворены выводом, который вы видите в командной строке, сделайте это «на месте» (т.е. сохранить его обратно в файл) с флагом -i :

sed -i 's/.$/\t&/' file.txt

Это означает вставку символа табуляции перед последним символом в каждой строке.

2
28.01.2020, 02:47

Заменить все пробелы на вкладки:

tr -s " " "\t" < datafile
-1
28.01.2020, 02:47

Теги

Похожие вопросы