Помощь с sed

#sed

Вопрос:

Мне нужно использовать sed или что-то еще, чтобы изменить строку в файле с

         line1_shortname: "785150 @ TL"
 

Для

         line1_shortname: "785150"
 

В принципе, в начале этой строки много пробелов, поэтому в основном мне нужно найти строку «line1_shortname:», а затем удалить что-либо после 6 чисел, но перед»

Ответ №1:

Если шесть чисел всегда отделены пробелом от остальной части строки в двойных кавычках, один из способов может заключаться в том, чтобы просто использовать группу захвата для захвата всего, что не является пробелом, любое количество раз. Это будет иметь дело со случаем, когда у вас есть любое количество цифр. Это может сработать для вас:

 sed '/^s*line1_shortname:/s/"([^ ]*).*"/"1"/' file