2492 some string continues here
に変換したいです。
2492
バッシュから。どうすればいいですか?
近いようですが動作しません。
var="2492 some string continues here "
echo ${var%[[:space:]]*}
ベストアンサー1
使いたいスペースが複数あるので
${var%%[[:space:]]*}
# ...^^
削除最長スペースで始まる末尾の部分文字列
単にスペースを使用すると、%
文字列の最後のスペースであるゼロ文字以上の文字が続く最短スペースシーケンスを削除できます。
$ echo ">$var<"; echo ">${var%[[:space:]]*}<"; echo ">${var%%[[:space:]]*}<"
>2492 some string continues here <
>2492 some string continues here <
>2492<
ただ探しているなら最初の単語、次のようにすることができます。
read -r word rest_of_string <<<"$var"
echo "I have: $word"
IFS 変数を変更しなかったと仮定すると、先行スペースは処理されます。