gpt4 book ai didi

regex - 用 sed 用另一个转义字符串替换转义字符串

转载 作者:行者123 更新时间:2023-12-04 18:58:01 24 4
gpt4 key购买 nike

我有 .bashrc 文件,在文件中出现以下行:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
我正在尝试用这个替换它:
PS1='\[\e[32m\]\A\[\e[m\] \[\e[31m\]\u\[\e[m\]@\[\e[36m\]\h\[\e[m\]\[\e[32m\]:\[\e[m\]\[\e[32m\]\w\[\e[m\]\\$ '
我试图这样做:
sed "s#PS1='\$\{debian_chroot:\+\(\$debian_chroot\)\}\\\[\\033\[01;32m\\\]\\u@\\h\\\[\\033\[00m\\\]:\\\[\\033\[01;34m\\\]\\w\\\[\\033\[00m\\\]\\\$ '#PS1='\\\[\\e[32m\\\]\\A\\\[\\e\[m\\\] \\\[\\e\[31m\\\]\\u\\\[\\e\[m\\\]@\\\[\\e\[36m\\\]\\h\\\[\\e\[m\\\]\\\[\\e\[32m\\\]:\\\[\\e\[m\\\]\\\[\\e\[32m\\\]\\w\\\[\\e\[m\\\]\\\\\$ '#g" .bashrc
但我收到错误消息:
sed: -e expression #1, char 267: Invalid content \{\}
我会使用 sed 或任何其他 bash/dash 脚本编写方式,这样我就可以为我经常使用的系统制作自定义脚本。

谢谢你的帮助。

最佳答案

我会做什么而不是奇怪的 ANSI 代码:

PURPLE=$(tput setaf 5)
RED=$(tput setaf 1)
WHITE=$(tput setaf 7)
GREEN=$(tput setaf 2)
YELLOW=$(tput setaf 3)
CYAN=$(tput setaf 4)
LIGHT_CYAN=$(tput setaf 6)
STOP=$(tput sgr0)


PS1="\[$PURPLE\]\u\[$WHITE\]@\[$GREEN\]\h\[$WHITE\]:\[$GREEN\]\w\[$WHITE\] $ \[$STOP\]"

最后对问题的所有方面做出完整的答复:
sed -i '/^PS1=/d' ~/.bashrc # remove PS1 line in bashrc

# now feeding bashrc with goodies :
cat<<'EOF'>>~/.bashrc
PURPLE=$(tput setaf 5)
RED=$(tput setaf 1)
WHITE=$(tput setaf 7)
GREEN=$(tput setaf 2)
YELLOW=$(tput setaf 3)
CYAN=$(tput setaf 4)
LIGHT_CYAN=$(tput setaf 6)
STOP=$(tput sgr0)

PS1="\[$PURPLE\]\u\[$WHITE\]@\[$GREEN\]\h\[$WHITE\]:\[$GREEN\]\w\[$WHITE\] $ \[$STOP\]"
EOF

关于regex - 用 sed 用另一个转义字符串替换转义字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27024611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com