• 1、awk打开多个文件的方法


    转载:http://www.cnblogs.com/Berryxiong/p/6209324.html

    1、当awk读取的文件只有两个的时候,比较常用的有三种方法
    (1)awk 'NR==FNR{...}NR>FNR{...}' file1 file2

    (2)awk 'NR==FNR{...}NR!=FNR{...}' file1 file2
    (3)awk 'NR==FNR{...;next}{...}' file1 file2

    next表示下一个命令不被执行

    2、当awk处理的文件超过两个时,显然上面那种方法就不适用了。因为读第3个文件或以上时,也满足NR>FNR (NR!=FNR),显然无法区分开来。
    所以就要用到更通用的方法了:

    ARGC        The number of command line arguments (does not include
                       options to gawk, or the program source).   命令行参数的个数
    ARGIND      The index in ARGV of the current file being processed. 命令行中文件序号
    ARGV        Array of command line arguments. The array is indexed
                       from 0 to ARGC - 1. Dynamically changing the contents
                       of ARGV can control the files used for data. 命令行参数数组

     awk 'ARGIND==1{a[$1]=$2}ARGIND==2{if($0 in a){print ">"a[$0]}else{print $0}}' list OsJ.pe 

    (1)ARGIND 当前被处理参数标志: awk 'ARGIND==1{...}ARGIND==2{...}ARGIND==3{...}... ' file1 file2 file3 ...
    (2)ARGV 命令行参数数组: awk 'FILENAME==ARGV[1]{...}FILENAME==ARGV[2]{...}FILENAME==ARGV[3]{...}...' file1 file2 file3 ... 
    (3)把文件名直接加入判断: awk 'FILENAME=="file1"{...}FILENAME=="file2"{...}FILENAME=="file3"{...}...' file1 file2 file3 ...

  • 相关阅读:
    爬虫——Selenium与PhantomJS
    爬虫——多线程糗事百科案例
    爬虫——json模块与jsonpath模块
    爬虫——使用BeautifulSoup4的爬虫
    爬虫——BeautifulSoup4解析器
    爬虫——爬取百度贴吧每个帖子里面的图片
    爬虫——爬虫中使用正则表达式
    爬虫——正则表达式re模块
    爬虫——requests模块
    爬虫——Handler处理器 和 自定义Opener
  • 原文地址:https://www.cnblogs.com/renping/p/9176735.html
Copyright © 2020-2023  润新知