我有一个字符串,说'远东市场'。我需要首先将所有连字符排除,然后将前8个字符提取到变量中。从一个字符串中删除' - ',然后打印shell脚本中的前10个文字
s1='Far-mers-market'
s2=Farmersm
我有一个字符串,说'远东市场'。我需要首先将所有连字符排除,然后将前8个字符提取到变量中。从一个字符串中删除' - ',然后打印shell脚本中的前10个文字
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
Better's2 = $(echo“$ {s1 // - }”| cut -c 1-8);回声“$ s2”' –
避免扩大字符串中的有效途径:
s1='* -$(ps)-$(pwd)'
s2="${s1//-}"
s2="${s2:0:8}"
echo "${s2}"
谢谢您的完美 – Lincon
@lurker请引用''s1''(尝试使用's1 ='* - $(ps) - $(pwd)''解决方案)。 –