使用 Bash 读取文件中的行并避免带有 # 的行

2023-12-28

我试过这个:

file="myfile"
while read -r line
do
    [[ $line = \#* ]] && continue
    "address=\$line\127.0.0.1"
done < "$file"

此代码不会避免以注释开头的行。即使我没有任何意见,dnsmasq告诉我们有错误。

它将是一个dnsmasqconf 文件,它将读取并插入域名,如下所示:address=\mydomain.com\127.0.0.1.


EDIT:1

输入文件:

domain1.com
domain2.com
domain3.com
#domain4.com
domain5.com

输出应该是:

address=/domain1.com/127.0.0.1
address=/domain2.com/127.0.0.1
address=/domain3.com/127.0.0.1
address=/domain5.com/127.0.0.1

我会将脚本放入/etc/dnsmasq.d/目录以便dnsmasq.conf http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example可以在什么时候处理它dnsmasq已开始。


跳过行starting with #:

grep -v '^#' myfile | while read -r file ; do
    ...
done

修改grep根据需要命令,例如,跳过以空格和 a 开头的行#特点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Bash 读取文件中的行并避免带有 # 的行 的相关文章

随机推荐