Как удалить строковый шаблон из файла между 2 символами двоеточия

Искавший много партии, но не нашел решения.

например: если строка

a12345:hello world:hello world again:other string

вывод:

a12345::hello world again:other string

таким образом, я просто хотел удалить содержание между 1-м и 2-м символом двоеточия

Любая справка ценилась бы.

Спасибо,

2
задан 16 April 2020 в 11:03

2 ответа

Используя sed:

sed -i 's/:[^:]*/:/' file_name

Используя awk:

awk -F':' -v OFS=":" '{$2="";print}' file_name
0
ответ дан 25 April 2020 в 10:47

Использовать sed:

sed 's/:[^:]*/:/'
  • сначала : - двоеточие соответствия
  • [^:]* - соответствуйте любому количеству символов, которые не являются двоеточием
  • в последний раз : - замените соответствие двоеточием, потому что Ваше соответствие включает первое двоеточие, но от Вашего вывода я вижу, что Вы хотите сохранить его.
1
ответ дан 25 April 2020 в 10:47

Другие вопросы по тегам:

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