将命令输出保存在文件名处



我遇到了这个问题,我想将命令的输出保存为文件名,并将不同命令(在同一脚本中)的输出流式传输到该文件。我无法在网上找到解决方案,所以在这里。以下是我的代码:

zgrep --no-filename 'some-patter|other-pattern' /var/something/something/$1/* | awk -F 't' '{printf $8; printf "scriptLINEbreakerPARSE"; print $27}' | while read -r line ; do
    awk -F 'scriptLINEbreakerPARSE' '{print $1}' -> save output of this as a filename
    awk -F 'scriptLINEbreakerPARSE' '{print $2}' >> the_filename_from_above
done

所以基本上我想使用循环中的第一个 awk 将输出保存为文件名,然后第二个 awk 输出将保存到具有该文件名的文件中。

任何帮助将不胜感激。

你做的工作量太大了。只需在第一个awk命令中输出到所需的文件:

zgrep --no-filename 'some-patter|other-pattern' /var/something/something/$1/* |
  awk -F 't' '{printf $27 > $8}'

请参阅 https://www.gnu.org/software/gawk/manual/html_node/Redirection.html

相关内容

  • 没有找到相关文章

最新更新