gpt4 book ai didi

bash - 制作一个将句子转换为标题的脚本?

转载 作者:行者123 更新时间:2023-12-04 14:36:09 26 4
gpt4 key购买 nike

我有一个命令,用于将句子转换为标题大小写。必须从文本文件中复制此命令,然后将其粘贴到终端中,然后再粘贴我想要转换的句子,这是低效的。命令是:

echo "my text" | sed 's/.*/\L&/; s/[a-z]*/\u&/g'

如何将其转换为脚本,以便我可以从终端调用以下内容:
TitleCaseConverter "my text"

是否可以创建这样的脚本?是否可以从任何文件夹位置使其工作?

最佳答案

把它包装成 .bashrc 中的函数怎么样?或 .bash_profilesource它来自当前 shell

TitleCaseConverter() {
sed 's/.*/\L&/; s/[a-z]*/\u&/g' <<<"$1"
}
或者)如果你希望它完美地避免来自输入参数的任何类型的尾随新行
printf "%s" "$1" | sed 's/.*/\L&/; s/[a-z]*/\u&/g'
现在您可以 source从命令行输入一次文件以使该函数可用,请执行
source ~/.bash_profile
现在您可以直接在命令行中使用它作为
str="my text"
newstr="$(TitleCaseConverter "$str")"
printf "%s\n" "$newstr"
My Text
还有你的问题,

How can I convert this to a script so I can just call something like the following from the terminal


将该功能添加到其中一个启动文件即可解决此问题,建议将其添加到 .bash_profile不过更多。
TitleCaseConverter "this is stackoverflow"
This Is Stackoverflow

更新:
OP 正在尝试使用从函数调用返回的名称创建一个目录,如下所示
mkdir "$(TitleCaseConverter "this is stackoverflow")"
这里的关键再次是双引号命令替换以避免被 shell 进行分词。

关于bash - 制作一个将句子转换为标题的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42925485/

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