Настройка владения диском при установке Nemo на горячее USB-устройство?

Итак, мое решение не совсем такое же, как ваше, но, строго говоря, оно печатает рамку вокруг текста, и реализация немного проще, поэтому я решил поделиться.

banner() {
    msg="# $* #"
    edge=$(echo "$msg" | sed 's/./#/g')
    echo "$edge"
    echo "$msg"
    echo "$edge"
}

И вот он в действии:

$ banner "hi"
######
# hi #
######
$ banner "hi there"
############
# hi there #
############

Просто обычный текст, никаких причудливых цветов ansi или чего-то еще.

1
04.02.2019, 05:08
2 ответа

Вы можете просто сделать это:

sed 's| (....)||g' file.txt

Это удалит четыре вхождения любого символа в круглых скобках, причем каждое .представляет один символ. Он также удаляет пробел перед скобкой.

Если между круглыми скобками несколько символов, можно использовать глобус:

sed 's| (.*)||g' file.txt

Убедившись, что он делает то, что вам нужно, добавьте iдля редактирования файла на место -.

sed -i 's| (....)||g' file.txt

sed -i 's| (.*)||g' file.txt
1
27.01.2020, 23:31

Замещающая команда sне имеет флага d.

Хотя есть командаd(удалить ):

sed '/ (.*)$/d' file.txt

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

Вместо этого сбросьте флаг и сделайте обычную замену без ничего:

sed 's/ (.*)$//' file.txt

Чтобы ограничить удаление только скобками, содержащими четырехзначные -числа:

sed 's/ ([0-9]\{4\})$//' file.txt
1
27.01.2020, 23:31

Теги

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