【问题标题】:delete first line and 3 columns from txt file从 txt 文件中删除第一行和 3 列
【发布时间】:2018-03-21 09:53:42
【问题描述】:

我有一个格式如下的文件:

Received 4 packets, got 4 answers, remaining 252 packets
52:54:00:12:35:00 192.168.1.1
52:54:00:12:35:00 192.168.1.2
08:00:27:87:d3:08 192.168.1.3
08:00:27:3e:99:5c 192.168.1.23

我想从所有行中删除第一行和mac col,输出应该是:

192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.23

并且命令在后台运行,我不需要在终端窗口中显示结果

【问题讨论】:

    标签: linux awk sed hidden cut


    【解决方案1】:
    awk 'NR != 1 {print $2}' file1
    

    在行动

    $ cat file1
    Received 4 packets, got 4 answers, remaining 252 packets
    52:54:00:12:35:00 192.168.1.1
    52:54:00:12:35:00 192.168.1.2
    08:00:27:87:d3:08 192.168.1.3
    08:00:27:3e:99:5c 192.168.1.23
    $ awk 'NR != 1 {print $2}' file1
    192.168.1.1
    192.168.1.2
    192.168.1.3
    192.168.1.23
    

    对于静默输出,您可以将输出定向到另一个文件。

    $ awk 'NR != 1 {print $2}' file1 > file2
    $ cat file2
    192.168.1.1
    192.168.1.2
    192.168.1.3
    192.168.1.23
    

    【讨论】:

    • 我得到了这样的输出:root@kali:/media/sf_Desktop# awk 'NR != 1 {print $2}' textout.txt > qassam.txt root@kali:/media/sf_Desktop # cat qassam.txt 4 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.23 ...我不需要 (4)
    • 有趣。你的awk版本是什么?我从awk --version@evilcode1 得到这个GNU Awk 4.1.4, API: 1.1 (GNU MPFR 3.1.5, GNU MP 6.1.1)
    • 你也可以试试awk 'FNR != 1 {print $2}' textout.txt把NR变成FNR @evilcode1
    • it;s awk GNU Awk 4.1.4, API: 1.1 (GNU MPFR 3.1.6, GNU MP 6.1.2) 当我执行这个 awk 'FNR 时我仍然得到 (4) ! = 1 {print $2}' textout.txt
    • 你的 textout.txt 的前两行是什么? @evilcode1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多