从字符串中删除'-',然后在 shell 脚本中打印前 10 个 charecter



我有一个字符串说'Far-mers-market'。我需要先删除所有连字符,然后将前 8 个字符提取到变量中。

s1='Far-mers-market'
s2=Farmersm

您可以使用${string//substring/replacement}替换字符串 s1 中的-,其中省略/replacement表示删除。然后在管道中应用cut命令以获取带有-c标志的前 8 个字符并列出字符位置(在本例中为 1-8(

s1='Far-mers-market' 
s2=$(echo ${s1//-} | cut -c 1-8)
echo $s2

避免以有效的方式扩展字符串:

s1='* -$(ps)-$(pwd)'
s2="${s1//-}"
s2="${s2:0:8}"
echo "${s2}"

最新更新