加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在Mac OS X上使用AWK拆分文件

发布时间:2020-12-14 01:14:05 所属栏目:Linux 来源:网络整理
导读:我试图在特定的分隔符上使用AWK拆分文件. awk代码如下所示: awk '/SEPARATOR/{n++}{print "part" n ".txt" }' in.txt 这段代码在我的Linux系统上运行得很好.但是当在Mac OS X上运行完全相同的代码时,我会收到以下错误: awk: syntax error at source line 1
我试图在特定的分隔符上使用AWK拆分文件. awk代码如下所示:

awk '/SEPARATOR/{n++}{print > "part" n ".txt" }' in.txt

这段代码在我的Linux系统上运行得很好.但是当在Mac OS X上运行完全相同的代码时,我会收到以下错误:

awk: syntax error at source line 1
 context is
    /SEPARATOR/{n++}{print > "part" >>>  n <<<  ".txt" }
awk: illegal statement at source line 1

我假设这是OS X附带的awk和Linux上的mawk之间的某种差异.删除打印中的字符串连接会使awk程序在两个平台上都能正常工作,但我更喜欢保留前缀和周期.如何编写一个awk程序,将分隔符上的文件拆分成多个编号的部分并在两个平台上运行?

解决方法

您可以使用变量修复此脚本:

awk '/SEPARATOR/{n++}{filename = "part" n ".txt"; print >filename }' in.txt

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读