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

unix – 在AWK中为多个文件更改FS

发布时间:2020-12-15 22:24:55 所属栏目:安全 来源:网络整理
导读:我正在尝试在AWK脚本中读取多个文件但是当我在文件之间切换时,字段分隔符(FS)也需要更改.此时我得到了: FILENAME=="A.txt"{ FS=";" //DoSomething}FILENAME=="B.txt"{ FS=" - " //DoSomething} 但正如您可能知道的那样,FS将无法正确设置文件的第一行.我怎么
我正在尝试在AWK脚本中读取多个文件但是当我在文件之间切换时,字段分隔符(FS)也需要更改.此时我得到了:

FILENAME=="A.txt"{
    FS=";"
    //DoSomething
}
FILENAME=="B.txt"{
    FS=" - "
    //DoSomething
}

但正如您可能知道的那样,FS将无法正确设置文件的第一行.我怎么解决这个问题?

解决方法

您可以在命令行指定字段分隔符:

awk -f a.awk FS=";" A.txt FS=" - " B.txt

这样,字段分隔符将针对每个文件进行更改.
从http://www.delorie.com/gnu/docs/gawk/gawk_82.html开始:

Any awk variable can be set by including a variable assignment among
the arguments on the command line when awk is invoked

With it,a variable is set either at the beginning of the awk run or in between input files.

(编辑:李大同)

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

    推荐文章
      热点阅读