我需要从包含一些字段的变量中找到最后一列。我需要写一些类似的东西:
if [ #the last column = "R" ];
then
value=`echo "'$value'"`
fi
可能吗?
我需要从包含一些字段的变量中找到最后一列。我需要写一些类似的东西:
if [ #the last column = "R" ];
then
value=`echo "'$value'"`
fi
可能吗?
awk
你可以试试:
awk '$NF=="R"' <<< "$var"
$ var="this is a var with last as R"
$ awk '$NF=="R"' <<< "$var"
this is a var with last as R
$ var1="This should not be printed"
$ awk '$NF=="R"' <<< "$var1"
$
条件可以是:
if [[ $value == *' 'R ]]
then
echo $value
fi
不需要外部语言,例如awk
.
使用=~
二元运算符:
$ var="Some arbitrary string ending in R"
$ unset value
$ [[ "$var" =~ $'R$' ]] && value=${var}
$ echo $value
Some arbitrary string ending in R
$ var="Some arbitrary string ending in Q"
$ unset value
$ [[ "$var" =~ $'R$' ]] && value=${var}
$ echo $value
假设用空格分隔的更通用的代码:
case $var in
(*\ R) printf "%s\n" "$var"
esac
或者:
if [ "${var##* }" = R ]; then
printf "%s\n" "$var"
fi