заменить / удалить элементы столбца awk / sed / vim после символа - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть текстовый файл, который содержит записи в один столбец,

1745:1745
1746:1746
1747:1747
1748:1748
42:42
43:43
44:44
45:45
46:46

И я хочу удалить дублирование чисел, то есть удалить все символы, начинающиеся с (включая) двоеточие, с выходным форматом,

1745
1746
1747
1748
42
43
44
45
46

Как я могу это сделать?

Спасибо

Ответы [ 5 ]

0 голосов
/ 28 ноября 2018

Добавление ниже команды, которая будет проверять и печатать только те значения, которые имеют повторяющиеся записи в обоих столбцах:

awk -F":" '{if ($1 == $2) print $1 }' input_file

0 голосов
/ 28 ноября 2018

Не могли бы вы попробовать следующие, основанные на замене от двоеточия до конца нулем.

Решение 1-е: Использование awk:

awk '{sub(/:.*/,"")} 1'  Input_file

Решение 2-е: Использование sed:

sed 's/:.*//g'  Input_file
0 голосов
/ 28 ноября 2018

Используя vim, можно найти / заменить

%s/:.*
0 голосов
/ 28 ноября 2018

Для заданного ввода ниже awk должно работать

awk -F':' '{ print $1 }' infile
0 голосов
/ 28 ноября 2018
cut -d ':' -f 1 < file.txt

Это похоже на работу, да?

...