F gge0006y

D 12-30-2006

T 14:05:55

S a69

B 15.3

M gge06001

P 30.6

Q 21.1

R 1006.6

U 1014.6

X 36.1

A 38.994        0             0

G 107.71        0             0

H 8.433

O 36.705

C 7.621

K 27.623

W 210.51

Мне нужно вырезать оба 0 0 из A и G, но я не могу сделать это, не вырезая все нули из текста, а это не то, что мне нужно, только эти четыре нуля, как мне это сделать?

1
jesse_b 11 Фев 2018 в 21:28
Вероятно, есть недостатки, но sed 's/ 0//g' input или sed 's/0 0//g' input <=SE удалили там лишние пробелы.
 – 
jesse_b
11 Фев 2018 в 21:30
3
Каково правило? "Удалить столбцы 2 и 3, если они существуют?" или "... если они существуют и равны 0"? или «если они существуют в строках, где столбец 1 представляет собой A или G»?
 – 
Jeff Schaller
11 Фев 2018 в 21:31
@cargoboom: Будьте осторожны с моим первым предложением. если какое-либо из ваших чисел начинается с 0, это даст нежелательные результаты. Например, если бы у вас было: C 07.621, оно сократилось бы до C 7.621.
 – 
jesse_b
11 Фев 2018 в 21:39
1
Вместо того, чтобы вырезать поля, которые вам не нужны, рассмотрите возможность печати тех полей, которые вы делаете, например. cut -d ' ' -f1,2 file или awk '{print $1, $2}' file
 – 
steeldriver
11 Фев 2018 в 22:43

1 ответ

Предполагая, что input разделен пробелом:

cut -d' ' -f 1-2 input

(Этот ответ аналогичен < em>steeldriver, предыдущий комментарий...)

0
agc 11 Фев 2018 в 23:02