私は文字列に 'Far-mers-market'と言います。すべてのハイフンが最初に必要になり、最初の8文字を変数に抽出します。文字列から ' - 'を削除し、シェルスクリプトの最初の10個のcharectersを印刷します。
s1='Far-mers-market'
s2=Farmersm
私は文字列に 'Far-mers-market'と言います。すべてのハイフンが最初に必要になり、最初の8文字を変数に抽出します。文字列から ' - 'を削除し、シェルスクリプトの最初の10個のcharectersを印刷します。
s1='Far-mers-market'
s2=Farmersm
あなたはreplacement
前/
の省略が削除を意味し、文字列s1の、から-
を置き換えるために${string//substring/replacement}
を使用することができます。そして-c
フラグで最初の8つの文字を取得するためにパイプラインでcut
コマンドを適用し、(あなたのケース1-8で)文字位置をリスト効率的な方法で文字列を拡大
s1='Far-mers-market'
s2=$(echo ${s1//-} | cut -c 1-8)
echo $s2
's2 = $(echo" $ {s1 // - } "| cut -c 1-8); echo "$ s2" ' –
避けてください:
s1='* -$(ps)-$(pwd)'
s2="${s1//-}"
s2="${s2:0:8}"
echo "${s2}"
ありがとうございます – Lincon
@lurker '' $ s1''( 's1 = '* - $(ps) - $(pwd)''で解を試してください)。 –