【问题标题】:Using sed and delete last line使用 sed 并删除最后一行
【发布时间】:2012-10-14 15:23:46
【问题描述】:

我正在使用 sed 命令删除前两行,但是当我将内容重定向到文件时,会出现行数。不知道怎么删。

我执行:

sed '7,9d' mi_fichero.txt

结果是:

(我写最后几行)

 /XTENT/D3/REPOSITORY/20120305/2201/65601/84/1330951636844_D3_448987414829688495_.indd.gz
 /XTENT/D3/REPOSITORY/20120308/2201/65601/22/1331198783835_D3_3411473776849856760_.indd.gz
 /XTENT/D3/REPOSITORY/20120308/2201/65601/158/1331220874606_D3_2742969984589497048_.indd.gz
 /XTENT/D3/REPOSITORY/20120313/2201/65601/0/1331626743284_D3_7551629114585379089_.indd.gz
 /XTENT/D3/REPOSITORY/20120309/2201/65601/92/1331295878839_D3_4724445611762228808_.indd.gz
(60 rows)

我想删除该行(60行),有人可以帮我吗?

谢谢:)

【问题讨论】:

  • 你的 linux 发行版是什么?

标签: bash sed


【解决方案1】:

这可能对你有用(GNU sed):

sed -i '7,9d;$d' file

【讨论】:

  • 对不起!!完美运行。我很困惑,因为我没有看到“-i”参数 :) 非常感谢!!
【解决方案2】:

已经有一个正确的答案,这不是 sed,而是使用 awk 的另一种方法

awk -v nl=$(wc -l < mi_fichero.txt) 'NR!=7 && NR!=9 && NR!=nl {print $0}' mi_fichero.txt

【讨论】:

    猜你喜欢
    • 2018-11-06
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 2012-11-03
    相关资源
    最近更新 更多