Я хочу удалить определенные суффиксы из определенных столбцов в файле TSVLinux

Ответить
Anonymous
 Я хочу удалить определенные суффиксы из определенных столбцов в файле TSV

Сообщение Anonymous »

У меня есть файл .tsv, в котором 3 -й и 14 -й столбцы содержат идентификаторы
это может быть, например, r_12 или d_5 или i_109 или они могут быть R_58_0 R_58_1 R_74_0 и т. Д.
Я хочу удалить только окончания _0 и _1, чтобы все записи просто имели первый идентификатор номера
, как я могу удалить только конец _0 или _1, если он присутствует?i_224
d_255
d_251
r_352_0
r_356
r_362
r_353_0
r_38_0
r_20_0
r_15
< /code>
И я хочу, чтобы он выглядел так: < /p>
i_224
d_255
d_251
r_352
r_356
r_362
r_353
r_38
r_20
r_15
< /code>
Я пробовал команды AWK, такие как < /p>
awk -F'\t' -v OFS='\t' '{
if ($0 ~ /^#/) {
print
next
}

# Remove the final _0, _1, etc., only if present
gsub(/_[0-9]+$/, "", $3)
gsub(/_[0-9]+$/, "", $14)

print
}' "$input_file" > "$output_file"
< /code>
Но тогда у меня что -то вроде: < /p>
i
d
d
r_352
r
r
r_353
r_38
r_20
r


Подробнее здесь: https://stackoverflow.com/questions/794 ... a-tsv-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»