gpt4 book ai didi

shell - 通过拆分行来运行 awk

转载 作者:行者123 更新时间:2023-12-04 19:14:25 25 4
gpt4 key购买 nike

这是 awk 中的一个基本问题。但我在这方面面临问题,我不知道为什么。问题是当我在一行中运行 awk 命令时,例如

awk 'BEGIN {} {print $0;}' FILE 

然后代码完美运行

但是,如果我在行之间拆分代码,例如
 awk '
BEGIN
{
}
{
print $0;
}' FILE

它给了我一个错误,说明 BEGIN 应该有一个 Action 部分 .我想知道因为它与我正在格式化的代码相同,为什么我会收到此错误。解决这个问题对我来说真的很重要,因为我将在 awk 中编写大行代码,这对我来说很难格式化并将其每次都放在一行中。你能帮我解决这个问题吗?谢谢你。笔记。我在 shell 环境中运行这个 awk

最佳答案

添加 '{' right after the BEGIN`,您将不会收到错误消息。

开幕式 {BEGIN需要在 same线为 BEGIN .所以改变你所拥有的

awk '
BEGIN
{


awk '
BEGIN {

并且您不会收到错误消息。

manual确实声明“BEGIN 和 END 规则必须具有操作;”,因此这可能是另一个问题。这个
awk 'BEGIN {} ...

对我来说似乎有点奇怪(如果没有发生任何事情,真的没有理由这样做)

下面@Birei 的有用评论解释了这些语句将“解析的方式在两种情况下都会不同。下一行中的 open '{' 被解析为没有模式的操作(与 BEGIN 无关),而在同一行中意味着一个空BEGIN 规则的作用。”

关于shell - 通过拆分行来运行 awk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11530230/

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