我想动态比较两个变量的值并将答案写入文件:
#!bin/bash
Timestamp2="19:16:35"
cat find_thread |awk -F'.' '{print $1}'|awk '{for (i=1; i<=NF;i++) {if ( $i == $(Timestamp2) ) {print (i-1)}}}'>ThreadID
Run Code Online (Sandbox Code Playgroud)
其中find_thread文件具有以下内容:
8361 19:16:35.493540
8361 19:16:35.493594
8360 19:16:41.242314
8360 19:16:41.242343
8278 19:16:39.179931
8278 19:16:39.179973
Run Code Online (Sandbox Code Playgroud)
如果我理解正确的话,给你:
awk -v ts="$Timestamp2" '$2 ~ "^" ts {print $1}' find_thread > ThreadID
Run Code Online (Sandbox Code Playgroud)
解释:
$Timestamp2变量。ts-v$2 ~ "^" ts=第二列(例如19:16:35.493540)应该以ts这是同一件事的另一种变体:
awk -F'[ .]' -v ts="$Timestamp2" '$2 == ts {print $1}' find_thread > ThreadID
Run Code Online (Sandbox Code Playgroud)