печать названий sed

Во-первых, если пакетов нет в репозитории, вы все равно можете их установить. Просто следуйте инструкциям, которые предоставляют распространители пакетов. Если вы попытаетесь установить один из пакетов вручную и столкнетесь с некоторыми проблемами, опубликуйте его здесь для получения дополнительной помощи.

Что касается Void, то у него много пакетов. Поэтому обязательно включите соответствующие репозитории и запросите их. Я предпочитаю запрашивать пакеты из командной строки с помощью xbps, но вы также можете перейти сюда :https://voidlinux.org/packages/

Вы можете видеть, что Кейт доступна в дереве портов :https://github.com/void-linux/void-packages/tree/master/srcpkgs/kate5

Кроме того, если вы неопытны, Void может оказаться не лучшим вариантом, поскольку документация ограничена. Лучшим переходом может быть Arch, а затем Void.

0
19.11.2021, 18:00
2 ответа
sed -r 's/^[0-9]+(\. )?//;s/\.[0-9]+/./g;s/^(\.*) /\1/' inputfile

Выводит только модифицированные строки:

sed -rn '/^[0-9]+((\. )|((\.[0-9]+)* ))/{s/^[0-9]+(\. )?//;s/\.[0-9]+/./g;s/^(\.*) /\1/;p}' inputfile
0
19.11.2021, 18:32

Использование любого awk в любой оболочке на каждом компьютере Unix:

$ awk '{sub(/\.$/,"",$1); gsub(/[^.]/,"",$1); sub(/ /,"")}1' file
Text1
.Text2
..Text3
...Text4
....Text5
Text6
.Text7

Чтобы изменить и напечатать только те строки, которые начинаются с нумерации, указанной в вашем вопросе, будет что-то вроде (непроверенного):

awk '/^([0-9]\.)+[0-9]* /{sub(/\.$/,"",$1); gsub(/[^.]/,"",$1); sub(/ /,""); print}' file

Приведенное выше действие изменит все цепочки смежных пробелов в «Тексте» на одиночные пустые символы. Его легко изменить, чтобы не делать этого, если это проблема, но, опять же, вам действительно нужно предоставить образец ввода/вывода «Текст», чтобы охватить такие варианты использования.

1
20.11.2021, 14:02

Теги

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