繁体   English   中英

MAC OS Awk - 生成带有变量的文件时出现语法错误

[英]MAC OS Awk - Syntax error when generating files with a variable

以下命令获取文件temp_practice.txt并将其拆分为多个文件temp_output_1.txt、temp_output_2.txt 等...基于标准$5~"?"

awk -vn=1 '{print > "temp_output_" n ".txt"} $5~"?" {n++}' temp_practice.txt

在 Ubuntu 上,它运行得非常顺利,我得到了我想要的。 但是,当我尝试在 Mac 上运行相同的命令时,出现以下语法错误:

awk: syntax error at source line 1
context is
{print > "temp_output_" >>>  n <<<  ".txt"} $5~"?" {n++}
awk: illegal statement at source line 1

生成文件名的 n 变量似乎存在语法错误。 我知道 Linux 和 Mac 上的 awk 之间存在差异,但我找不到有关该特定问题的任何信息。 我需要使用不同的命令还是只需要在现有行中添加一些东西?

我之前告诉过你这个确切的问题 你的下一个问题与你的问题无关。 ? 是一个正则表达式元字符,意思zero-or-one repetitions of the preceding expression但看看你的正则表达式/?/ - 你没有前面的表达式。 所以一些 awks 可能会处理? 因为文字和其他可能会产生语法错误。 匹配文字? ,我认为这就是你想要做的,是$5~/\\?/$5~/[?]/index($5,"?")或者甚至$5=="?" 取决于您的输入和要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM