如何在bash中从数字中分割出一个单词并从中创建变量?

时间:2016-09-07 18:02:40

标签: linux bash unix awk sed

我有一个单词FOO123USR我想拆分foo并将其放在自己的变量中,并将123放在自己的变量中,最后我想摆脱它USR的。{我在尝试实现这一目标时遇到了麻烦。

这是我的脚本到目前为止的样子,但我得到一个空白输出

#!/bin/bash


#var holding

RED='\033[0;31m'
NC='\033[0m'
var2=$(echo $START_VAR | grep -o -E '[0-9]+')
var1=${START_VAR//[A-Z]/}


if [ "$EUID" -ne 0 ];
then
echo -e "${RED} YOU MUST RUN AS ROOT USER ! ${NC}\n"
exit
fi

# We are getting the username here

read -p "Type the username <example: FOO123USR> [ENTER]: " START_VAR


echo "$va2"
echo "$var1"

1 个答案:

答案 0 :(得分:0)

进行此类修补的一种方法:

START_VAR=FOO123USR
var1=${START_VAR%%[0-9]*} # remove from first number to end
var2=${START_VAR//[A-Z]/} # remove ALL uppercase letters

更多示例和信息:https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html

:)
戴尔