【问题标题】:how do you skip the last line w/ awk?您如何跳过带有 awk 的最后一行?
【发布时间】:2012-08-05 16:49:54
【问题描述】:

我正在使用 awk 处理一个文件,需要跳过一些行。网上没有一个好的答案。

到目前为止,我拥有的唯一信息是您可以通过以下方式跳过一个范围:

awk 'NR==6,NR==13 {print}' input.file

awk 'NR <= 5 { next } NR > 13 {exit} { print}' input.file

你可以通过输入跳过第一行:

awk 'NR < 1 { exit } { print}' db_berths.txt

如何跳过最后一行?

【问题讨论】:

    标签: unix awk


    【解决方案1】:

    一种使用awk的方式:

    awk 'NR > 1 { print prev } { prev = $0 }' file.txt
    

    或者sed更好:

    sed '$d' file.txt
    

    【讨论】:

    • head 选项的确切格式取决于您的操作系统。 rwos 的建议适用于 Linux,但不适用于 FreeBSD、OpenBSD、OS/X。可能也不适用于 Solaris、HP/UX 等。
    【解决方案2】:

    你可以试试:

    awk 'END{print NR}' file
    

    【讨论】:

    • -1 这将打印输入文件中有多少行。与OP的要求完全不同
    猜你喜欢
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 2011-12-08
    • 2012-07-26
    • 2017-07-27
    • 2015-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多