私はいくつかのtinydnsゾーンファイル内のTTLの大規模なセットを置き換えるために働いています。TTLが現在何に設定されているかに関係なく、900にしたいと思っています。sedの魔法を探していますが、もうすぐそこにいるようです。
TTLを置き換えるために約50のホスト名があり、ゾーンは散発的に割り当てられています。
ゾーンファイルの行にTTLを含める必要はありません。持っていない場合は、TTLを追加する必要があります。つまり、検索する行は次のようになります。
^。*hostname:(hostname | IP)[:#] $
例えば
+ abc.com:12.12.12.12 = *。abc.com:xyzcom:1200
そのため、sedコマンドの正規表現を作成するためのサポートが必要です。次のようになります。
cat hosts.txt | ホストを読んでいる間; 行う sed -i's /'$ host':([^:] *)(?:[0-9] *)/' $ host':\ 1:900/'ゾーンファイル* 終わり
寛大なsedの達人はいますか?