gpt4 book ai didi

string - 如何将fish shell中的字符串大写?

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

我收到以下文本:

Lorem ipsum dolor sit amet, consectetur adipisicing elit.

我想要大写,即每个单词的第一个字母大写。

预期结果

Lorem Ipsum Dolor Sit Amet, Consectetur Adipisicing Elit.

相当于 Bash

使用 bash,我使用了参数扩展:

function to-lower() { echo "$@" |tr '[:upper:]' '[:lower:]' ; }

function capitalize() {
input="$(to-lower "$@")"
for i in $input; do
cap=$(echo -n "${i:0:1}" | tr "[:lower:]" "[:upper:]")
echo -n "${cap}${i:1} "
done
echo
}

问题

我如何以 fish 的方式做到这一点?

最佳答案

Fish 目前没有任何工具可以执行此操作(在某个版本中),因此假设您有 GNU sed,您可以执行此操作:

function capitalize
echo $argv | sed 's/[^ _-]*/\u&/g'
end

还有各种其他工具,您也可以使用例如python 或通过从fish 调用bash,要点是无法提取子字符串或用fish 内置函数替换字符。

在下一个 Fish 版本中,您将能够使用 string sub -l 1 $i 提取第一个字符。

关于string - 如何将fish shell中的字符串大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34207402/

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