我知道这个问题以前可能已经回答过。我在不同的地方看到了很多关于这个的话题,但对我来说通常很难提取答案。我正在寻找有关“sed”命令的示例用法的帮助。
假设我想对文件“hello.txt”(在与提示相同的目录中)进行操作。任何包含“很少”一词的地方,都应改为“asd”。命令会是什么样的?
我有一个 shell 脚本,它使用以下内容在其输出中打印绿色复选标记:
col_green="\e[32;01m"
col_reset="\e[39;49;00m"
echo -e "Done ${col_green}?${col_reset}"
Run Code Online (Sandbox Code Playgroud)
在阅读了 Bash 的ANSI-C Quoting 之后,我意识到我可以在设置颜色变量时使用它并-e
从我的echo 中删除标志。
col_green=$'\e[32;01m'
col_reset=$'\e[39;49;00m'
echo "Done ${col_green}?${col_reset}"
Run Code Online (Sandbox Code Playgroud)
这似乎很吸引人,因为这意味着无论是传递给 Bash 的内置echo还是外部 util /bin/echo
(我使用的是 macOS),消息都能正确打印。
但这是否会降低脚本的可移植性?我知道 Bash 和 Zsh 支持这种引用风格,但我不确定其他人。