我从文件 1 中的以下列表开始。
** server can't find bla.bla.com: NXDOMAIN
** server can't find bla2.bla.com: NXDOMAIN
** server can't find bla3.bla.com: NXDOMAIN
** server can't find bla4.bla.com: NXDOMAIN
** server can't find bla5.bla.com: NXDOMAIN
我想从每一行中删除 '** server can't find ' 和 ': NXDOMAIN' 并将结果放到一个新文件中。
结果应该是这样的——
bla.bla.com
bla2.bla.com
bla3.bla.com
bla4.bla.com
bla5.bla.com
我已经尝试了下面的 sed 命令,但我不断收到 > 提示。
sed '/\*\* server can't find /d' file1
任何想法或更好的方法来实现这一目标?
单引号是问题。尝试:
sed "s/\*\* server can't find \(.*\): NXDOMAIN/\1/" file1
它使用捕获组来抓取您要保留的行的一部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句