1

我正在编写一个脚本来查询我的 JBoss 服务器以获取一些与数据库相关的数据。查询后返回的内容如下所示:

ConnectionCount=7
ConnectionCreatedCount=98
MaxConnectionsInUseCount=10
ConnectionDestroyedCount=91
AvailableConnectionCount=10
InUseConnectionCount=0
MaxSize=10

我想标记这些数据,以便将右侧的数字存储在格式的变量中7,98,10,91,10,0,10。我尝试使用IFS等号,但仍然保留参数名称(仅删除等号)。

4

4 回答 4

1

我将您的输入数据放入文件d.txt中。下面的单行代码提取数字,用逗号分隔它们并将所有这些分配给变量TAB(用 Korn shell 测试):

$ TAB=$(awk -F= '{print $2}' d.txt | xargs echo | sed 's/ /,/g')
$ echo $TAB
7,98,10,91,10,0,10
于 2013-04-16T15:07:48.433 回答
0

或者只使用 cut/tr:

 F=($(cut -d'=' -f2 input | tr '\n' ' '))
于 2013-04-16T15:19:25.887 回答
0

cut一个没有任何管道的简单:

arr=( $(cut -d'=' -f2 file) ) 

输出

printf '%s\n' "${arr[@]}"
7
98
10
91
10
0
10
于 2013-04-16T16:52:08.743 回答
0

您也可以使用一个 sed 命令来完成:

sed -n 's/^.*=\(.*\)/\1,/;H;${g;s/\n//g;s/,$//;p;}' file
7,98,10,91,10,0,10
于 2013-04-16T15:23:02.673 回答