Вы должны хранить вашу информацию в файле, расположение которого соответствует XDG Base Directory Specification.
Поскольку ваш материал - это данные, а не конфигурация, вам следует проверить, существует ли переменная окружения XDG_DATA_HOME
и создать файл или поддиректорию, специфичную для утилиты, в которой вы будете хранить файл. Если эта переменная окружения не существует, по умолчанию используется ~/.local/share
:
base_dir = os.environ.get('XDG_DATA_HOME',
os.path.join(os.environ['HOME'], '.local', 'share'))
util_data_dir = os.path.join(base_dir, util_name)
Есть также короткая рука с использованием awk
:
awk -F_ '{print $1 (NF>1? FS $2 : "")}' yourfile
для ленивых из нас:
cut -d_ -f1,2 input
дает нам:
bash-[514]$ cat input
>gi_12_pork_cat
ACGT
>gi_34_pink_blue
CGTA
bash-[515]$ cut -d_ -f1,2 input
>gi_12
ACGT
>gi_34
CGTA
$ awk -F_ 'BEGIN {OFS="_"} /^>gi/ {print $1,$2} ! /^>gi/ {print}' input
>gi_12
ACGT
>gi_34
CGTA
sed -ne '/^>gi_/s/_/\n/2;P' yourfile
>gi_
мы должны попытаться применить подпрограмму _ - --> \n
. Затем мы печатаем пространство шаблонов, используя команду P
, которая печатает до первой новой строки, если находит одну или всю ее.