我在Unix中有一个文件,其行如下:
INFO 29-4-2015 20:22:56 NOD_VMT01-32 DIRECTOR VAR_27028 Use override value [850848.000000000000000] for user-defined workflow/worklet variable:[$$mplt_PROCESS_KEY].
INFO 29-4-2015 20:22:56 NOD_VMT01-32 DIRECTOR VAR_27028 Use override value [850851.000000000000000] for user-defined workflow/worklet variable:[$$mplt_PROCESS_KEY1].
INFO 29-4-2015 20:22:56 NOD_VMT01-32 DIRECTOR VAR_27028 Use override value [850852.000000000000000] for user-defined workflow/worklet variable:[$$mplt_PROCESS_KEY10].
INFO 29-4-2015 20:22:56 NOD_VMT01-32 DIRECTOR VAR_27028 Use override value [850860.000000000000000] for user-defined workflow/worklet variable:[$$mplt_PROCESS_KEY11].在读取.sh文件中的文件时,回送打印如下
INFO 29-4-2015 20:22:56 NOD_VMT01-32 DIRECTOR VAR_27028 Use override value 0 for user-defined workflow/worklet variable:[$$mplt_PROCESS_KEY9].[850852.000000000000000]变成0。
代码:
#!/bin/bash
while read line
do
if [[ $line == *"Use override value"* ]]
then
echo $line
SUBSTRING=`echo $line| cut -d '[' -f 3 | cut -d ']' -f 1`
SUBSTRING1=`echo $line| cut -d '[' -f 2 | cut -d ']' -f 1`
echo $SUBSTRING" = "$SUBSTRING1
fi
done < $1有人能帮我解决这个问题吗?
发布于 2015-05-01 17:11:10
你没有引用你的"$variables"
while read line; do
if [[ $line == *"Use override value"* ]]; then
echo "$line"
sub1=$(cut -d '[' -f 3 <<< "$line" | cut -d ']' -f 1)
sub2=$(cut -d '[' -f 2 <<< "$line" | cut -d ']' -f 1)
echo "$sub1 = $sub2"
fi
done < "$1"INFO 29-4-2015 20:22:56 NOD_VMT01-32 DIRECTOR VAR_27028 Use override value [850848.000000000000000] for user-defined workflow/worklet variable:[$$mplt_PROCESS_KEY].
$$mplt_PROCESS_KEY = 850848.000000000000000
INFO 29-4-2015 20:22:56 NOD_VMT01-32 DIRECTOR VAR_27028 Use override value [850851.000000000000000] for user-defined workflow/worklet variable:[$$mplt_PROCESS_KEY1].
$$mplt_PROCESS_KEY1 = 850851.000000000000000
INFO 29-4-2015 20:22:56 NOD_VMT01-32 DIRECTOR VAR_27028 Use override value [850852.000000000000000] for user-defined workflow/worklet variable:[$$mplt_PROCESS_KEY10].
$$mplt_PROCESS_KEY10 = 850852.000000000000000
INFO 29-4-2015 20:22:56 NOD_VMT01-32 DIRECTOR VAR_27028 Use override value [850860.000000000000000] for user-defined workflow/worklet variable:[$$mplt_PROCESS_KEY11].
$$mplt_PROCESS_KEY11 = 850860.000000000000000如果在shell提示符下执行echo [850860.000000000000000],会发生什么情况?
您的当前目录中有名为"0“的文件吗?
https://stackoverflow.com/questions/29988416
复制相似问题