8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

需要 grep 两个不同的输出,但文件名相同

Astrid 1月前

41 0

Shell 脚本 1Test1=命令 2>output.txtShell 脚本 2Test1=命令 2>output.txtShell 脚本 3 等等所有 Shell 脚本都将并行运行,但我如何区分 output.txt 文件?

Shell 脚本 1Test1= command 2>output.txt

Shell 脚本 2Test1= command 2>output.txt

Shell脚本3等等

所有的 shell 脚本都会并行运行,但是我该如何区分 output.txt 文件呢,即使我在文件名后面附加了日期和秒数 output.txt_ddmmyyyyhh:mm:ss,所有文件都会以相同的名称、日期和秒数创建,因为它会在同一时间和秒数运行。

另外,我需要在 output.txt 文件中 grep 关键字“missing pattern”,它可能存在于 shell 脚本 1 或 2 或 3 输出中,所以我想区分文件名,然后我才能检查关键字是否存在。

您能建议一下吗?

帖子版权声明 1、本帖标题:需要 grep 两个不同的输出,但文件名相同
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Astrid在本站《linux》版块原创发布, 转载请注明出处!
最新回复 (0)
  • M.A. 1月前 0 只看Ta
    引用 2

    你的实际目标是什么?我怀疑输出会有一些后续处理;这会有什么作用?我怀疑存在一个全球架构变化,可以大大简化你的流程。

  • GioM 1月前 0 只看Ta
    引用 3

    我如何区分输出.tx

    你不能。

    您必须更改日志行的来源 - 为每个日志行添加唯一元素、将其拆分为多个文件等。

    我看到其他答案展示了特定的解决方案,我喜欢 test1 | logger -t test1 ,因为我不必关心 journalctl 日志文件的日志轮换,它们永远不会将我的磁盘填满到最大值,并且压缩得很好,我可以将所有内容集中在一个地方。

  • 那么使用进程 ID 怎么样?

    OUTPUT_FILE_NAME="output-$(date +%C%y%m%d%H%M%s)-$$.txt"
    comannd 2>"${OUTPUT_FILE_NAME}"
    grep "stuff to look for" "${OUTPUT_FILE_NAME}"
    
  • 我需要在测试 1 命令完成后在上述文件中 grep 关键字,将命令的输出保存在上述文件中

  • 我会做这样的事情:

    在第一个脚本中:

     command 2>&1 >/dev/tty | sed 's/^/script1:/' >output1.txt
    

    第二个:

     command 2>&1 >/dev/tty | sed 's/^/script2:/' >output2.txt
    

    等等。当然,您可以将 stdout 发送到任何地方,但 /dev/tty 即使您将 stderr 传输到日志中,它仍会继续发送到终端。

返回
作者最近主题: