我有一个在Linux上运行的C++应用程序,我正在优化它.如何确定代码的哪些区域运行缓慢?
是否有内置方法来测量Windows命令行上命令的执行时间?
在 Visual Studio Code 中运行任何程序后如何在终端中显示执行时间?
我正在处理一个需要在对指定目录中的任何文件进行任何更改时以递归方式重新启动的进程。
我想避免使用任何沉重的东西,比如inotify. 我不需要知道哪些文件被更新,而只需要知道文件是否被更新。此外,我不需要收到每次更改的通知,而只需要知道在特定时间间隔内是否发生了任何更改,由流程动态确定。
必须有一种方法可以使用相当简单的 bash 命令来做到这一点。我不介意多次执行命令;性能不是我对这个用例的主要关注点。但是,命令越快越好。
我需要的唯一输出是上次更改的时间戳,因此我可以将其与存储在内存中的时间戳进行比较。
我也愿意接受更好的解决方案。
假设有一个会议,并且会议记录保存在 CSV 文件中。如何编写 bash 脚本/awk 脚本来找出员工在线的总时间。一名员工可以离开并重新加入会议,应计算其所有在线时间。
我所做的如下,但被困在如何将一个记录与所有其他记录进行比较,并添加每个加入和离开一个人的总时间。
#!/bin/bash
inputFile=$1
startTime=$(date -u -d $2 +"%s")
endTime=$(date -u -d $3 +"%s")
awk 'BEGIN{ FS=","; totalTime=0; }
{
for (rows=1; rows <= NR; rows++) {
#I am stuck here on how to compare a record with each and every record
if (($1==?? && $2=="Joined") && ($1==?? && $2=="Left")) {
totalTime=$($(date -u -d $3 +"%s")-$(date -u -d $3 +"%s"))
print $1 "," $totalTime +"%H:%M:%S"
}' $inputFile
Run Code Online (Sandbox Code Playgroud)
会议的开始时间和结束时间在命令行中给出,例如:
$ ./script.sh input.csv 10:00:00 13:00:00
输出看起来像这样:(可以存储在输出文件中)
Bob, …Run Code Online (Sandbox Code Playgroud)