如何在不再次调用sed或awk的情况下从字符串中删除点字符?
我有一个hostlist.txt包含以下内容的文件: host1.mydomain.com host2.mydomain.com anotherhost www.mydomain.com login.mydomain.com somehost host3.mydomain.com 我有以下小脚本: #!/usr/local/bin/bash while read host; do dig +search @ns1.mydomain.com $host ALL \ | sed -n '/;; ANSWER SECTION:/{n;p;}'; done <hostlist.txt \ | gawk '{print $1","$NF}' >fqdn-ip.csv 输出到fqdn-ip.csv: host1.mydomain.com.,10.0.0.1 host2.mydomain.com.,10.0.0.2 anotherhost.internal.mydomain.com.,10.0.0.11 www.mydomain.com.,10.0.0.10 login.mydomain.com.,10.0.0.12 somehost.internal.mydomain.com.,10.0.0.13 host3.mydomain.com.,10.0.0.3 我的问题是如何删除.逗号前的内容而不进行调用sed或gawk再次调用?我可以在现有步骤中执行某些步骤,sed还是gawk可以删除点的调用? hostlist.txt 将包含数千个主机,因此我希望我的脚本快速高效。