我正在编写一个脚本来查询我的JBoss服务器以获取一些与数据库相关的数据。查询后返回的内容如下所示:
ConnectionCount=7
ConnectionCreatedCount=98
MaxConnectionsInUseCount=10
ConnectionDestroyedCount=91
AvailableConnectionCount=10
InUseConnectionCount=0
MaxSize=10
我想对这些数据进行标记,以便右侧的数字以7,98,10,91,10,0,10
格式存储在变量中。我尝试将IFS
与等号一起使用,但仍保留参数名称(仅消除等号)。
答案 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) )
printf '%s\n' "${arr[@]}"
7
98
10
91
10
0
10