【问题标题】:What is the command to delete empty lines in a file using sed?使用sed删除文件中的空行的命令是什么?
【发布时间】:2012-05-11 16:49:04
【问题描述】:
  • 什么是sed 命令删除文件中的空行。
  • 删除文件夹中的空文件的命令是什么(sed 命令?)?

【问题讨论】:

  • 你想达到什么目的?你想如何实现它?哪种语言? PHP?
  • @Fender:语言:sed。想要实现:去掉空行。
  • 对于删除空文件,你可能使用find folder -maxdepth 1 -size 0 -exec rm {} +(或者你可以使用-printxargs,或者更好,如果你的findxargs组合支持它,@987654330 @ 和 xargs -0) 或者如果您的 find 不支持 +,甚至将 + 替换为 ;,只要速度不是太关键。 (注意:-maxdepth 是 GNU findPOSIX find 的扩展。
  • @JonathanLeffler: Gnu find: find directory -empty -delete - 不需要 xargs 体操。

标签: linux unix sed command


【解决方案1】:

/^$/d 应该这样做。

例如

sed -i -e "/^$/d" myfile.txt

如果您想对文件夹中的所有文件执行此操作:

sed -i -e "/^$/d" *

-i 表示“就地编辑”,没有它,文件将被编辑并发送到标准输出。原始文件不会被修改。

【讨论】:

  • 您不应指定 myfile.txt。您必须使用 $i。 Ex:sed -i -e "/^$/d" $i。 $i 具有文件名。
【解决方案2】:

你必须'd'用来删除。

Ex:

 sed -i '/^$/d' test

-i - 用于影响文件。

^ - 是行首

$ - 是行尾

d - 如果有空行则删除

希望对你有所帮助。

【讨论】:

  • 在这种情况下,^ 是行首,$ 是行尾。 d 删除所有匹配前缀正则表达式的行
【解决方案3】:
sed -e 's/#.*//;/^\s*$/d' /etc/lvm/lvm.conf

【讨论】:

    猜你喜欢
    • 2011-03-21
    • 2015-08-07
    • 2014-02-11
    • 1970-01-01
    • 2016-08-13
    • 2018-06-13
    • 1970-01-01
    • 2016-08-13
    • 1970-01-01
    相关资源
    最近更新 更多