使用 Unix 命令复制文件中的第 N 行

发布于 2025-01-11 10:01:16 字数 271 浏览 0 评论 0原文

下面给出了 /etc/resolv 配置文件的示例。如何使用 UNIX 命令复制第二行(名称服务器)?

我的输入文件包含

search cyberciti.biz
nameserver 202.54.1.10

如果我想输入这样的文件

search cyberciti.biz
nameserver 202.54.1.10
nameserver 202.54.1.10

有人可以帮助我吗?

A sample of /etc/resolv config file is given below. How do I duplicate the second line (nameserver) by using the UNIX command?

My input file contains

search cyberciti.biz
nameserver 202.54.1.10

If I want to input file like this

search cyberciti.biz
nameserver 202.54.1.10
nameserver 202.54.1.10

Can someone help me on this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

忘东忘西忘不掉你 2025-01-18 10:01:16

如果没有有关您的具体要求的更多信息,我无法确定这是否适合您的需求,但以下 perl 单行代码将复制以“nameserver”开头的所有行。如果您不想创建备份文件,请删除“-i.bak”。

perl -i.bak -pe 'print if /^nameserver/' resolv.conf

这将复制文件的第二行,无论其内容如何:

perl -i.bak -pe 'print if $. == 2' resolv.conf

Without more information about your specific requirements I can't say for sure whether this will fit your needs, but the following perl one-liner will duplicate all lines beginning with 'nameserver'. Remove the '-i.bak' if you don't want a backup file created.

perl -i.bak -pe 'print if /^nameserver/' resolv.conf

This one will instead duplicate the second line of the file, regardless of its contents:

perl -i.bak -pe 'print if $. == 2' resolv.conf
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文