gpt4 book ai didi

linux - 在 bash 中,如何修剪字符串的特定部分?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:57:37 27 4
gpt4 key购买 nike

我试图只修剪作为参数提供给 ltrim() 的字符串的左半部分。这是我当前的代码。

ltrim()
{
string=${1}
divider=$((${#string} / 2))

trimrule=${2}

string_left=${string:0:$divider}
string_right=${string:$divider}

echo ${string:$divider} ## My own quick debug lines
echo ${string:0:$divider} ## My own quick debug lines

if [ $# -ne 2 ]
then
printf "%d argument(s) entered. 2 required.\n" "$#"
else
while :
do
case $string_left in
${2}*) string_left=${string_left#?} ;;
*${2}) string_left=${string_left%?} ;;
*) break ;;
esac
done
printf "Left side string is %s\n" "${string_left}"
fi
}

但是,当我输入 ltrim abcdefghijklmnopq abc 时,shell 会返回以下内容:

ijklmnopq 
abcdefgh
Left side string is bcdefgh

因此,当我希望得到“defgh”作为结果时,我只是从单词中丢失了“a”。我做错了什么?

最佳答案

function substr_remove() {
echo "${1//$2/}"
}

substr_remove carfoobar123foo456 foo

输出:

carbar123456

关于linux - 在 bash 中,如何修剪字符串的特定部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29593117/

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