我有一个问题,我相信这是非常简单的事情,我已经忽略了,但,我似乎看不到它。
因此,我试图遍历Array,使用每个元素的内容做一些操作,然后使用元素作为文件重定向。
fullProc=$(grep "WNDP_Server" $1 | grep -v "#" | cut -f 2 | grep -v /nwsys/release/conf/save" | cut -d '/' -f5)
for i in "${fullProc[@]}"
do
echo "$host$HostName" > "$i"
grep "WNDP_Server: * " $1 | grep -v "#" | cut -f 2-3 | grep -v "/nwsys/release/conf/save" | grep -w "$i" | cut -f 2 >> "$i"
grep "WNDP_Port:" $1 | grep -v "#" | grep -w "$i" | cut -f 3 >> "$i"
ProcName=$(grep "WNDP_Server: * " $1 | grep -v "#" | cut -f 2 | grep -v "/nwsys/release/conf/save" | cut -d '/' -f5 | grep -w "$i" | cut -d '.' -f1)
echo "Process: $ProcName" >> "$i"
grep -w "FilterMode:" $1 | grep -v "#" | cut -f 2-3 | grep -w "$i" | cut -f2 >> "$i"
grep -w "Filter:" $1 | grep -v "#" | cut -f 2-3 | grep -w "$i" | cut -f2 >> "$i"
done我得到的是一个包含所有正确信息的文件。而不是多个文件,每个文件都有相应的信息。
如果您需要我澄清这一点,请告诉我。
$i是有问题的文件名。
发布于 2014-01-08 21:00:46
您应该像这样分配fullProc:
fullProc=($(grep ...))请注意围绕(...)的额外$(grep ...)。
否则,grep的所有匹配都将位于一个字符串中。
https://stackoverflow.com/questions/21005500
复制相似问题