Я хочу удалить точку (.) Только с 4-го и 5-го столбцов таблицы.Удалить точки (.) Из определенных столбцов с помощью gsub и awk
input
1 10057 . A AC
1 10146 . AC. A
1 10177 . A AC
1 10230 . AC .A,AN
1 10349 . CCCTA C,CCCTAA.
1 10389 . .AC A,AN
desired output
1 10057 . A AC
1 10146 . AC A
1 10177 . A AC
1 10230 . AC A,AN
1 10349 . CCCTA C,CCCTAA
1 10389 . AC A,AN
Итак, я попробовал следующую команду.
awk 'BEGIN {OFS=FS="\t"} {gsub("\.","",$4);gsub("\.","",$5)}1' input
и я получил этот результат (были удалены все 4-я и 5-я колонки).
1 10057 .
1 10146 .
1 10177 .
1 10230 .
1 10349 .
1 10389 .
Не могли бы вы указать, где я должен изменить? Спасибо заранее.
Красивые. Огромное спасибо. – jamie
можно использовать: awk 'BEGIN {OFS = FS = "\ t"} {для (i = 4, i <= 5, ++ i); gsub (/\./,"",$ i) } 1 'вход – Vonton
да, конечно. Если бы было занято более двух полей, то цикл был бы правильным. Это всего лишь 2 поля, это не имеет значения. –