草庐IT

用于提取 IP 地址的 Linux bash 脚本

我想在我的Debian7.3上制作大脚本(类似于翻译的和更新的用户友好环境)。我有个问题。我只想使用命令给我的一些信息。例如我的ifconfig看起来像:eth0Linkencap:EthernetHWaddr08:00:27:a3:e3:b0inetaddr:192.168.1.103Bcast:192.168.1.255Mask:255.255.255.0inet6addr:fe80::a00:27ff:fea3:e3b0/64Scope:LinkUPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1RXpackets:1904errors:0dro

linux - 使用 shell 脚本将行附加到/etc/hosts 文件

我有一个新的Ubuntu12.04VPS。我正在尝试编写一个安装脚本来完成整个LAMP安装。我遇到问题的地方是在/etc/hosts文件中添加一行。我当前的主机文件如下所示:127.0.0.1localhostVenus#ThefollowinglinesaredesirableforIPv6capablehosts::1ip6-localhostip6-loopbackfe00::0ip6-localnetff00::0ip6-mcastprefixff02::1ip6-allnodesff02::2ip6-allrouters我希望它看起来像这样:127.0.0.1localhos

linux - 使用 shell 脚本将行附加到/etc/hosts 文件

我有一个新的Ubuntu12.04VPS。我正在尝试编写一个安装脚本来完成整个LAMP安装。我遇到问题的地方是在/etc/hosts文件中添加一行。我当前的主机文件如下所示:127.0.0.1localhostVenus#ThefollowinglinesaredesirableforIPv6capablehosts::1ip6-localhostip6-loopbackfe00::0ip6-localnetff00::0ip6-mcastprefixff02::1ip6-allnodesff02::2ip6-allrouters我希望它看起来像这样:127.0.0.1localhos

linux - bash 中的 "sed"命令

谁能帮我解释一下这个命令:cat|sed-e's,%,$,g'|sudotee/etc/init.d/dropbox“sed”命令有什么作用? 最佳答案 sed是StreamEDitor.可以做一整堆reallycoolthings,但最常见的是文本替换。命令行的s,%,$,g部分是要执行的sed命令。s代表替换,,字符是分隔符(可以使用其他字符;/、:和@很受欢迎)。%是要匹配的模式(这里是文字百分号),而$是要匹配的第二个模式(这里是文字美元符号)。末尾的g意味着g局部替换每一行(否则它只会更新第一个匹配项)。

linux - bash 中的 "sed"命令

谁能帮我解释一下这个命令:cat|sed-e's,%,$,g'|sudotee/etc/init.d/dropbox“sed”命令有什么作用? 最佳答案 sed是StreamEDitor.可以做一整堆reallycoolthings,但最常见的是文本替换。命令行的s,%,$,g部分是要执行的sed命令。s代表替换,,字符是分隔符(可以使用其他字符;/、:和@很受欢迎)。%是要匹配的模式(这里是文字百分号),而$是要匹配的第二个模式(这里是文字美元符号)。末尾的g意味着g局部替换每一行(否则它只会更新第一个匹配项)。

linux - 从文本文件中删除奇数行或偶数行

我需要删除文本文件中的奇数行以进行下采样。我找到了这个命令,awk'NR%2==0'file但它只打印终端中的奇数行。如何真正删除它们?我真的不关心偶数或奇数,我希望它们从文件中删除或打印到另一个文件中。这只会在终端中打印它们。 最佳答案 awk%是取模运算符,NR是当前行号,因此NR%2==0仅对偶数为真行并将为其调用默认规则({print$0})。因此只保存偶数行,将输出从awk重定向到一个新文件:awk'NR%2==0'infile>outfilesed您可以使用sed完成同样的事情。devnulls答案显示了如何使用GNUs

linux - 从文本文件中删除奇数行或偶数行

我需要删除文本文件中的奇数行以进行下采样。我找到了这个命令,awk'NR%2==0'file但它只打印终端中的奇数行。如何真正删除它们?我真的不关心偶数或奇数,我希望它们从文件中删除或打印到另一个文件中。这只会在终端中打印它们。 最佳答案 awk%是取模运算符,NR是当前行号,因此NR%2==0仅对偶数为真行并将为其调用默认规则({print$0})。因此只保存偶数行,将输出从awk重定向到一个新文件:awk'NR%2==0'infile>outfilesed您可以使用sed完成同样的事情。devnulls答案显示了如何使用GNUs

regex - 为什么 `\d` 在 sed 的正则表达式中不起作用?

这个问题在这里已经有了答案:Howtoextracttextfromastringusingsed?(5个回答)关闭4年前。我正在尝试在sed的正则表达式中使用\d但它不起作用:sed-re's/\d+//g'但这是有效的:sed-re's/[0-9]+//g' 最佳答案 \d是一个开关而不是正则表达式宏。如果您想使用一些预定义的“常量”而不是[0-9]表达式,请尝试运行以下代码:s/[[:digit:]]+//g 关于regex-为什么`\d`在sed的正则表达式中不起作用?,我们在S

regex - 为什么 `\d` 在 sed 的正则表达式中不起作用?

这个问题在这里已经有了答案:Howtoextracttextfromastringusingsed?(5个回答)关闭4年前。我正在尝试在sed的正则表达式中使用\d但它不起作用:sed-re's/\d+//g'但这是有效的:sed-re's/[0-9]+//g' 最佳答案 \d是一个开关而不是正则表达式宏。如果您想使用一些预定义的“常量”而不是[0-9]表达式,请尝试运行以下代码:s/[[:digit:]]+//g 关于regex-为什么`\d`在sed的正则表达式中不起作用?,我们在S

regex - sed - 注释与特定字符串匹配且尚未注释掉的行

我有以下测试文件AAABBBCCC使用下面的sed我可以注释掉BBB行。#sed-e'/BBB/s/^/#/g'-ifile如果该行的开头没有#,我只想注释掉它。#sed-e'/^#/!/BBB/s/^/#/g'filesed:-eexpression#1,char7:unknowncommand:`/'有什么想法可以实现这一点吗? 最佳答案 假设您没有包含多个#的任何行,这将起作用:sed-e'/BBB/s/^#*/#/'-ifile注意:您不需要/g,因为您每行最多进行一次替换。 关