bashスクリプトで文字列の部分文字列を抽出する必要があります。 これは、 "エコー" とのコードです:BASHスクリプトで部分文字列を抽出する数値として扱われる文字。
echo "number:"
echo "$number"
echo "bb"
registers3=$(echo $number | grep -o -E '[0-9]+')
registers2="$(grep -oE '[0-9]+' <<< "$number")"
registers="${number//[^0-9]/}"
valor=$(grep -o "[0-9]" <<<"$number")
echo "valor:"
echo $valor
echo "reg:"
echo "$registers"
echo "reg2:"
echo "$registers2"
echo "reg3:"
echo "$registers3"
そして、この出力:
number:
/> -------
420
/>
bb
valor:
1 0 3 4 4 2 0
reg:
1034420
reg2:
1034
420
reg3:
1034
420
問題は$数の特殊文字です。
数字だけを抽出するのに役立ちますか?この場合「421」
ありがとうございます!
EDIT: 私はviとしたファイル($番号> file.txtなど)やオープンで$番号を置く場合:セットリスト私が手:この代わりの
^[[?1034h/ > -------$
420$
/> $
あなたの例は混乱しています。特に、変数の前後に引用符を使用していないためです。 'echo" $ number "')、出力がマングルされます。正直言って、主な問題は 'echo $ number | 'echo"の代わりに 'grep'を使います。 grep' –
おかげでトムは助けになった。私は引用符でmiの投稿を編集:) –