在下面的awk命令中找到了1.txt与2.txt.
awk 'NR==FNR{b[$0]=1;next}!b[$0]' 1.txt 2.txt
Run Code Online (Sandbox Code Playgroud)
需要逐步了解此awk构造如何找到丢失的行。
附加一个包含tee命令和日志文件名的变量,没有得到预期的结果,因为echo正在打印变量内容。
以下是文件内容、实际输出和预期结果。
shell脚本内容:
#!/bin/bash
log="2>&1 | tee -a report.txt"
echo ""
echo '***************-:START OF THE REPORT:-***********' $log
Run Code Online (Sandbox Code Playgroud)
运行脚本后。
console op:
***************-:START OF THE REPORT:-*********** 2>&1 | tee -a report.txt
Run Code Online (Sandbox Code Playgroud)
预期的-
console op:
***************-:START OF THE REPORT:-***********
report.txt file content:
***************-:START OF THE REPORT:-***********
Run Code Online (Sandbox Code Playgroud)
另请注意,变量$log应包含tee命令和文件名,因为我不想tee在每个 echo 命令的末尾对命令进行硬编码。