例:
file="123 hello"
文字列ファイルを編集して、数字のみが含まれ、テキスト部分が削除されるようにするにはどうすればよいですか?
そう、
echo $file
123
のみ。
これはsed
の1つの方法です。
$ echo $file | sed 's/[^0-9]*//g'
123
$ echo "123 he23llo" | sed 's/[^0-9]*//g'
12323
または、純粋なbash
で:
$ echo "${file//[!0-9]/}"
123
$ file="123 hello 12345 aaa"
$ echo "${file//[!0-9]/}"
12312345
結果を変数自体に保存するには、次のようにします
$ file=$(echo $file | sed 's/[^0-9]*//g')
$ echo $file
123
$ file=${file//[!0-9]/}
$ echo $file
123
あなたは言うことができます:
echo ${file%%[^0-9]*}
ただし、これは特定の場合に問題になります。
$ file="123 file 456"
$ echo ${file%%[^0-9]*}
123
tr
を使用:
$ file="123 hello 456"
$ new=$(tr -dc '0-9' <<< $file)
$ echo $new
123456