Rápida e suja e não muito robusta sed(1)
one-liner:
echo 'Country,City,IP Address External
Australia,Sydney,"101.0.67.53"
Australia,Melbourne,"125.214.65.59"
Belgium,Brussels,"87.238.165.164"
Brazil,São Paulo,"200.170.83.170"
Brazil,Rio de Janeiro,"201.20.20.237"
Canada,Toronto,"208.69.56.166,
208.69.56.171,
208.69.56.172 "
Canada,Montreal,"199.204.45.153,
199.204.45.154,
199.204.45.155,
199.204.45.156"' |
sed -e 1d -e 's/"$//' -e 's/^[^"]*"/Allow from /' -e 's/,$/ \/'
Saída:
Allow from 101.0.67.53
Allow from 125.214.65.59
Allow from 87.238.165.164
Allow from 200.170.83.170
Allow from 201.20.20.237
Allow from 208.69.56.166 \
208.69.56.171 \
208.69.56.172
Allow from 199.204.45.153 \
199.204.45.154 \
199.204.45.155 \
199.204.45.156
Suposições:
- Cada grupo de endereços IP é cercado pelo caractere de aspas duplas (
"
)
- O caractere
"
não pode ocorrer em nenhum outro lugar, exceto para delimitar grupos de IPs.
- Uma vírgula (
,
) no final de uma linha significa que vários endereços IP continuam na próxima linha.