私のlog.txt
ファイルには以下が含まれます。
...
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
...
どのように交換できますか?
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
そして
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 0.0.0.0/0
コマンドラインから?つまり、0.0.0.0/0
行末に追加したいのです。
ベストアンサー1
sedを使う
sed -i 's+^mynetworks.*+& 0.0.0.0/0+' log.txt
awkを使う
awk '/^mynetworks/ {$0=$0" 0.0.0.0/0"} 1' log.txt
または
awk '{if ($1 ~ /^mynetworks/) print $0, "0.0.0.0/0"; else print $0}' log.txt
バッシュを使って
while read -r line ; do
[[ $line == mynetworks* ]] && line+=" 0.0.0.0/0"
echo "$line"
done < log.txt