Hasilkan file CSV / TXT dari file zona bernama

1

Saya perlu membuat file csv / txt dari file zona pada server DNS bernama.

Sebagai contoh, saya ingin membuat daftar nama host dan IP dari file zona

Dari ini

monkey          A   192.168.1.1
bear            A   192.168.1.2
shark           A   192.168.2.1
bird            A   192.168.3.1
lion            A   192.168.4.1

Untuk ini

monkey,192.168.1.1
bear,192.168.1.2
shark,192.168.2.1
bird,192.168.3.1
lion,192.168.4.1

Bagaimana saya bisa mencapai ini, menggunakan Sed dan Grep? Adakah yang memiliki skrip yang mereka gunakan untuk melakukan tugas serupa?

SamCulley
sumber

Jawaban:

1

Mungkin Anda akan mempertimbangkan menggunakan awk untuk ini:

awk '{print $1,$3}' OFS=, infile

Jika Anda diatur di sedsini adalah salah satu cara Anda dapat melakukannya (GNU sed):

sed -r 's/([^ \t]+)\s+A\s+([^ \t]+)/\1,\2/' infile

Atau dengan GNU coreutils:

<infile tr -s ' ' | cut --output-delimiter=, -d' ' -f1,3

Keluaran:

monkey,192.168.1.1
bear,192.168.1.2
shark,192.168.2.1
bird,192.168.3.1
lion,192.168.4.1
Thor
sumber
Cemerlang, kedua contoh menggunakan sed & awk bekerja hebat! Tepuk tangan.
SamCulley