我一直致力于开发一个init.d
脚本,该脚本将在机器停止和启动时运行。该脚本与Tomcat服务器一起运行。该脚本将解析每个tomcat实例的配置文件,并将它们添加到名为“InstanceData”的临时文件中。内容将是这样的事情:
FINC-A1:XXXX979:XXXX
FINC-B1:XXXX979:XXXX
FXE-A1:XXXX975:XXXX
FXE-B1:XXXX975:XXXX
INL-A1:XXXX994:XXXX
INL-B1:XXXX994:XXXX
IVR-A1:XXXX984:XXXX
IVR-B1:XXXX984:XXXX
LWSP-A1:XXXX982:XXXX
LWSP-B1:XXXX982:XXXX
LWSP-C1:XXXX982:XXXX
MFS-A1:XXXX989:XXXX
MFS-I1:XXXX989:XXXX
PHYRES-A1:XXXX987:XXXX
PHYRES-B1:XXXX987:XXXX
每一行都是一个服务器,用户名和机器用冒号分隔。现在我的脚本在执行停止时工作正常。问题是现在我想要同时启动域的相同服务器。例如:
FINC-A1:XXXX979:XXXX
FINC-B1:XXXX979:XXXX
两者都属于FINC
域,现在我想编写一个脚本,该脚本将从文件中获取相同的域并同时启动它们。我的问题是提取属于同一个域的实例,如FIND
或IVR
。请帮我编写脚本。感谢所有人提前。
答案 0 :(得分:0)
如果您想从' instanceData'中提取归档那些属于域的实例,例如FINC
您可以执行以下操作:
如果你想要整行:
cat instanceData | awk '/FINC-.*/ { print $0 }'
结果:
FINC-A1:XXXX979:XXXX
FINC-B1:XXXX979:XXXX
如果您只想要第一个字段:
cat instanceData | awk -F: '/FINC-.*/ { print $1 }'
结果:
FINC-A1
FINC-B1
答案 1 :(得分:0)
Ook,我能够编写适合我的脚本
output = $(cat instanceData.txt | awk'{print $ 1}'| cut -d'-'-f1 | uniq)
表示输出中的x;
做
for cat instanceData.txt | grep $x
中的ref_num
做
echo“对$ ref_num执行操作”
做过
完成了
感谢您的所有回复。