可以在长途的sed命令来了几行破? [英] Can a long sed command be broken over several lines?

查看:110
本文介绍了可以在长途的sed命令来了几行破?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

SED 命令,这是非常长的。

  SED -i的/追加RO的initrd = initrd.img中安静飞溅nbdport = 2000 /追加RO的initrd = initrd.img中安静飞溅nbdport = 2000 =视频LVDS-1:D / G'/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default

是否可以在多个行砸得更清楚它做什么?

例如。像?

  SED -i的/
追加RO的initrd = initrd.img中安静飞溅nbdport = 2000
/
追加RO的initrd = initrd.img中安静飞溅nbdport = 2000 =视频LVDS-1:D
/G'
/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default


解决方案

一对夫妇的方式,你可以让这个更小。如果你只是附加的文本行的末尾,你可以使用SED是这样的:

  SED -i'/追加RO的initrd = initrd.img中安静飞溅nbdport = 2000 / S / $ /视频= LVDS-1:D'...

另外,使用shell变量将它拆分了一下。

  PXE_BOOT_FILE =的/ var / lib中的/ tftpboot / LTSP / I386 / pxelinux.cfg的/默认
SEARCH_PATTERN ='追加RO的initrd = initrd.img中安静飞溅nbdport = 2000'
REPLACE_PATTERN =$ SEARCH_PATTERN视频= LVDS-1:D
SED -iS / $ SEARCH_PATTERN / $ REPLACE_PATTERN / G$ PXE_BOOT_FILE

I have sed command that is very long

sed -i 's/append ro initrd=initrd.img quiet splash nbdport=2000/append ro initrd=initrd.img quiet splash nbdport=2000 video=LVDS-1:d/g' /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default

Can it be broken over several lines to make it more clear what it does?

E.g. something like?

sed -i 's/
append ro initrd=initrd.img quiet splash nbdport=2000
/
append ro initrd=initrd.img quiet splash nbdport=2000 video=LVDS-1:d
/g'
/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default

解决方案

A couple of ways you can make this smaller. If you are just appending the text to the end of the line, you can use sed like this:

sed -i '/append ro initrd=initrd.img quiet splash nbdport=2000/s/$/ video=LVDS-1:d' ...

Otherwise, use shell variables to split it up a bit.

PXE_BOOT_FILE=/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default
SEARCH_PATTERN='append ro initrd=initrd.img quiet splash nbdport=2000'
REPLACE_PATTERN="$SEARCH_PATTERN video=LVDS-1:d"
sed -i "s/$SEARCH_PATTERN/$REPLACE_PATTERN/g" "$PXE_BOOT_FILE"

这篇关于可以在长途的sed命令来了几行破?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆