私はいくつかありますアドレス.csvこの形式で
Street 1
Street 10
Street 100
Street 1000
Straße 1b
Straße1b
Street 1 B
Street, 1B
The Street 1B
The-Street 1B
The'Street 1B
The&Street 1B
The Str. 1B
Street 1-3
Street 1 - 3
Street 1A-3B
Street 1A -3 B
Super's Street-Str., 1 - 1000B
道路名と道路番号の両方を分離/抽出する方法はありますか?
出力名.csv
Street
Street
Street
Street
Straße
Straße
Street
Street
The Street
The-Street
The'Street
The&Street
The Str.
Street
Street
Street
Street
Super's Street-Str.
出力番号.csv
1
10
100
1000
1b
1b
1 B
1B
1B
1B
1B
1B
1B
1-3
1 - 3
1A-3B
1A -3 B
1 - 1000B
ここで共有したいソリューションを見つけました。
ベストアンサー1
私の解決策は
- 住所の形式が有効であることを確認してください。
if [[ ${var_street_and_number} =~ ^[[:alpha:][:space:]\.\'\&\-]+[,]?[[:space:]]?[0-9]{1,4}[[:space:]]?[a-zA-Z]?[[:space:]]?[-]?[[:space:]]?[0-9]{0,4}[[:space:]]?[a-zA-Z]?$ ]];
then
echo "Adress is format is valid :)";
else
echo "Adress is format is invalid \!";
fi;
変数var_street_and_number
は一行通り名+住居番号付き
距離と数が多い(=多くの行)ファイルがある場合は、次のものを使用できます。
while read line; do
if [[ ${line} =...
done < addresses.csv
- アドレス形式が有効な場合は、次のものを使用できます。
sed
sed 's/[,]\{0,1\}[[:space:]]\{0,1\}[[:digit:]].*$//' address.csv > output-name.csv
sed 's/^[^[:digit:]]*//' address.csv > output-number.csv