> data-6ren">
gpt4 book ai didi

bash - 在 Bash 中,grep 一行并在文件中打印该行,但包含更多信息

转载 作者:行者123 更新时间:2023-11-29 09:46:41 24 4
gpt4 key购买 nike

在 bash 中,我使用 grep 命令将结果打印到文件中:

  grep "4 CA   1" CVOLOPTs*SYMREMO.out | grep "11 O    0 0 0" >> data.dat

data.dat 文件中打印以下内容:

 4 CA   1     2.3311     4.4052   11 O    0 0 0

我想让 data.dat 看起来像下面这样:

 252   4 CA   1     2.3311     4.4052   11 O    0 0 0

我试过类似的东西:

grep "4 CA   1" CVOLOPTs*SYMREMO.out | grep "11 O    0 0 0" >> echo "252" data.dat

但不起作用。

如果你能帮助我,我将不胜感激。

最佳答案

使用 awk 的附加管道可以达到目的:

grep "4 CA   1" CVOLOPTs*SYMREMO.out | grep "11 O    0 0 0" | awk ´{print "252",$0}´ >> data.dat

整个事情可以用一个awk来完成:

awk ´/4 CA   1/ && /11 O    0 0 0/ {print "252",$0}' CVOLOPTs*SYMREMO.out >> data.dat

$0 是整个当前行。在这种情况下,由 2 正则表达式选择的行。

awk 逐行读取每一行。

Regex 代表正则表达式。使用 awk 它们被包含在 / 中:例如/4 CA 1/

/4 CA 1/&&/11 O 0 0 0/ 是一个表达式:当被读取的行同时匹配第一个正则表达式 (&&) 第二个正则表达式。在这种情况下,只有字符串;见9. Regular Expressions来自 Open Group Base Specifications Issue 6。

关于bash - 在 Bash 中,grep 一行并在文件中打印该行,但包含更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37034025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com