У меня есть следующая функция bash, которая использует сед
для извлечения разделов, происходящих между ## Режим: орг.
и ## # Конец организации
, куда #
является символом комментария. Наконец, я удаляю символ комментария и любые пробелы.
это мой вклад
кошка /home/flora/docs/recnotes.txt
## Режим: орг.
# Назначает позиционные параметры оболочки или изменяет значения оболочки
# параметры. Опция -- присваивает позиционные параметры
# аргументы {set}, даже если некоторые из них начинаются с параметра
# префикс `-'.
## # Конец организации
;; Режим: орг.
; Назначает позиционные параметры оболочки или изменяет значения оболочки
; параметры. Опция -- присваивает позиционные параметры
; аргументы {set}, даже если некоторые из них начинаются с параметра
; префикс `-'.
;; # Конец организации
@c Режим: орг.
@c Присваивает позиционные параметры оболочки или изменяет значения оболочки
варианты @с. Опция -- присваивает позиционные параметры
@c аргументы {set}, даже если некоторые из них начинаются с параметра
@c префикс `-'.
@c # Конец организации
Вот функция bash с реализацией в сед
.
захватить ()
{
локальный файл = "$1"
местный чаркл бегорг эндорг
charcl_ere='^[[:space:]]*([#;!]+|@c|\/\/)[[:space:]]*'
charcl_bre='^[[:space:]]*\([#;!]\+\|@c\|\/\/\)[[:space:]]*'
begorg="${charcl_bre}"'Режим: org$'
endorg="${charcl_bre}"'# Конец организации$'
mdr='^Режим: org$' ; edr='^# Конец org$'
sed -n "/$begorg/,/$endorg/ s/$charcl_bre//p" "$efile" |
sed "/$mdr\|$edr/d"
}
Первоначально у меня были две команды как
begorg='${charcl_bre}Режим: org$'
endorg='${charcl_bre}# Конец организации$'
которые не расширяли переменную charcl_bre
.
Выход
Назначает позиционные параметры оболочки или изменяет значения оболочки
параметры. Опция -- присваивает позиционные параметры
аргументы {set}, даже если некоторые из них начинаются с параметра
префикс `-'.
Назначает позиционные параметры оболочки или изменяет значения оболочки
параметры. Опция -- присваивает позиционные параметры
аргументы {set}, даже если некоторые из них начинаются с параметра
префикс `-'.
Назначает позиционные параметры оболочки или изменяет значения оболочки
параметры. Опция -- присваивает позиционные параметры
аргументы {set}, даже если некоторые из них начинаются с параметра
префикс `-'.
Я хотел бы сделать пустую строку между разделами.