以下内容已写入名为test.txt的文本文件中。如何检索待处理的& shell脚本中的完成计数值?
var idleTimerId;
$('.linkClass').on('click', function(event){
idleTimerId = setTimeout(function(){ alert("Hello"); }, 5000);
});
// in this example the timer will be initialized when the link is clicked first.
// Then waits 5000ms to fire. if you want to cancel it - call clearTimeout()
// with idealTimerId;
这是我试过的:
DELETE FROM table WHERE id in(
SELECT x.id
FROM (
SELECT *,count(id) cc FROM table group by col1,col2,col3...
) x
WHERE x.cc>1
)
答案 0 :(得分:1)
grep
和awk
命令几乎总是可以组合成1 awk
命令。并且2个awk
命令几乎总是可以组合成1 awk
命令。
这解决了你的直接问题(使用一个小的awk类型的铸造技巧)。
completedStatus=$(echo "<p class="pending">Count: 0</p>^J
<p class="completed">Count: 0</p>" \
| awk -F : '/completed/{var=$2+0.0;print var}' )
echo completedStatus=$completedStatus
输出
completedStatus=0
请注意,您可以将grep
和awk与
awk -F : '/completed/' test.txt
过滤到完成的行输出
<p class=completed>Count: 0</p>
当我添加-F
参数时,输出没有改变,即
awk -F'<p|< p="">' '/completed/' test.txt
<强>输出强>
<p class=completed>Count: 0</p>
所以我依靠:
作为-F
(字段分隔符)。现在输出是
awk -F : '/completed/{print $2}'
<强>输出强>
0</p>
执行计算时,awk
将读取前面的数字“查找”值,如果找到一个数字,它将读取数据,直到找到非数字(或者如果有的话)精光)。所以...
awk -F : '/completed/{var=$2+0.0;print var}' test.txt
<强>输出强>
0
最后,我们得出上面的解决方案,将代码包装在现代命令替换中,即$( ... cmds ....)
,并将输出发送到completedStatus=
赋值。
如果您认为+0.0
添加是正在输出的内容,您可以将文件更改为显示已完成的计数= 10,输出将为10.
IHTH
答案 1 :(得分:1)
另一个awk
completedStatus=$(awk -F'[ :<]' '/completed/{print $(NF-1)}' file)
答案 2 :(得分:0)
如果我找对你,你只想提取待定或已完成的值。如果是这样的话,
然后使用SED,
请查看以下脚本。Output shared via picture, please click to see
#!/bin/bash
file="$1"
echo "Simple"
cat $1 |sed 's/^.*=\"\([a-z]*\)\">Count: \([0-9]\)<.*$/\1=\2/g'
echo "Pipe Separated"
cat $1 |sed 's/^.*=\"\([a-z]*\)\">Count: \([0-9]\)<.*$/\1|\2/g'
echo "CSV Style or comma separeted"
cat $1 |sed 's/^.*=\"\([a-z]*\)\">Count: \([0-9]\)<.*$/\1,\2/g'