Shell脚本标记生成器

时间:2013-04-16 15:03:51

标签: linux bash shell unix

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

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

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

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

或者只使用cut / tr:

 F=($(cut -d'=' -f2 input | tr '\n' ' '))

答案 2 :(得分:0)

您也可以使用一个sed命令执行此操作:

sed -n 's/^.*=\(.*\)/\1,/;H;${g;s/\n//g;s/,$//;p;}' file
7,98,10,91,10,0,10

答案 3 :(得分:0)

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

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

Outut

printf '%s\n' "${arr[@]}"
7
98
10
91
10
0
10