gpt4 book ai didi

macos - awk:根据模式转换某些行,按原样打印其余行

转载 作者:行者123 更新时间:2023-11-29 09:39:51 26 4
gpt4 key购买 nike

我有一个 awk命令看起来像这样:

awk -F ',' '{print $3 "," $4 "," $2 ", " $1 "," $5 "," $6}

它工作得很好,除了它适用于文件中的每一行,而我不需要。我想限制它只适用于包含特定模式的行。所以我输入另一个命令:

(awk -F ',' '{print $3 "," $4 "," $2 ", " $1 "," $5 "," $6} | awk '/mypattern/')

这行得通,但现在它打印那些包含该模式的行,并删除不包含该模式的行。

我想将命令限制为仅处理包含该模式的行,而让不包含该模式的行保持原样。似乎可以使用 if 语句,但我无法弄清楚如何集成 awk使用我当前代码的条件语法。

最佳答案

awk -F ',' '/mypattern/ {print $3 "," $4 "," $2 ", " $1 "," $5 "," $6} !/mypattern/' 

旁白:subshell 是否有原因?在你的例子中?即 ( awk -F ',' ... ) ?

关于macos - awk:根据模式转换某些行,按原样打印其余行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36048810/

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