Оболочка Linux: как извлечь из файла подстроки, разделенные точкой с запятой, с помощью регулярного выражения sedLinux

Anonymous
Оболочка Linux: как извлечь из файла подстроки, разделенные точкой с запятой, с помощью регулярного выражения sed

Сообщение Anonymous »

У меня есть файл с содержимым ниже:

Код: Выделить всё

10|subpath ; xxx ; xxx ; xxx ; xxx ; substring ; xxx ; ......
12|subpath ; xxx ; xxx ; xxx ; xxx ; substring ; xxx ; ......
18|subpath ; xxx ; xxx ; xxx ; xxx ;  ; xxx ; ......
Я хочу использовать sed для извлечения:
  • содержимого до первой точки с запятой
  • «подстрока» между 5-й и 6-й точкой с запятой («подстрока» может быть любой строкой, а также может быть ничем, а между «подстрокой» и ее точками с запятой может быть пробел).
После извлечения я хочу получить такие вещи, как

Код: Выделить всё

10|subpath;substring_fs
12|subpath;substring_fs
18|subpath;fs
если в «подстроке» ничего нет/пусто, то поместите туда «fs». если «подстрока» не emtpy, добавьте «_fs» к «подстроке»

Подробнее здесь: https://stackoverflow.com/questions/790 ... file-using

Вернуться в «Linux»