awkを使用して両方の場合、角括弧をどのように変更できますか?
空の括弧を「None」という単語に変更します。
192.168.0.24,上,()
角かっこを削除すると、host.domain.comだけが残ります。
192.168.0.25,上記,(host.domain.com)
ベストアンサー1
sedを使用してください:
echo -e "192.168.0.25,Up,()\n1.2.3.4,Up,(host.domain.com)" |
sed 's/()/None/g;s/[()]//g'
192.168.0.25,Up,None
1.2.3.4,Up,host.domain.com
これはawkプログラムです:
BEGIN {FS=","}
$3 ~ /\(\)/ { printf ($1","$2",None\n"); next }
$3 ~ /\(.+\)/ {
gsub ("\\(", "")
gsub ("\\)", "")
}
{ printf ($0"\n") }
呼ぶ
echo -e "1.8.0.5,Up,()\n1.2.3.4,Up,(host.d.com)" | awk -f ip.awk
例えば。