Search with diacritics / accents characters with `locate` commandHow to install the locate command?What is the difference between “find” and “locate” search methods in Catfish?Search function ignoring diacriticsCommand to search through manuals?Difference among “whereis ” , “locate ” and “find”commandlocate together with findRecursively remove same files found with locate
Where are they calling from?
Would Taiwan and China's dispute be solved if Taiwan gave up being the Republic of China?
Are there non JavaScript ways to hide HTML source code?
I reverse the source code, you negate the output!
Why does NASA publish all the results/data it gets?
Who created the Lightning Web Component?
Guitar tuning (EADGBE), "perfect" fourths?
Cut a cake into 3 equal portions with only a knife
What benefits does the Power Word Kill spell have?
How can an attacker use robots.txt?
Transforming 2D points on to a regular grid or lattice
How to manage expenditure when billing cycles and paycheck cycles are not aligned?
Performance for simple code that converts a RGB tuple to hex string
What is the need of methods like GET and POST in the HTTP protocol?
Examples of "unsuccessful" theories with afterlives
What are these pixel-level discolored specks? How can I fix it?
Writing a letter of recommendation for a mediocre student
Leaving a job that I just took based on false promise of a raise. What do I tell future interviewers?
How does this circuit start up?
What is this utensil for?
Allocating credit card points
Social leper versus social leopard
Wrong result by FindRoot
Where Does VDD+0.3V Input Limit Come From on IC chips?
Search with diacritics / accents characters with `locate` command
How to install the locate command?What is the difference between “find” and “locate” search methods in Catfish?Search function ignoring diacriticsCommand to search through manuals?Difference among “whereis ” , “locate ” and “find”commandlocate together with findRecursively remove same files found with locate
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
Sometimes I need to search files with accented characters (diacritic in general), usually with locate/mlocate. I wish to setup (maybe in /etc/updatedb.conf
) so it let me search for this special characters using a certain language mapping, for example:
a == âàáäÂÀÂÄ
e == êèéëÊÈÉË
i == îïíÎÏ
o == ôöóÔÖ
u == ûùüÛÜÙ
c == çÇ
n == ñ
So locate -i liberación
also search for files with string liberacion and even liberaciòn.
Notes and assumptions
- And maybe others: ÂÃÄÀÁÅÆ ÇÈÉÊËÌÍÎÏ ÐÑÒÓÔÕÖØÙÚÛÜÝÞ ßàáâãäåæç èéêëìíîïðñòóôõö øùúûüýþÿ.
- This is a common situation on romance languages like Spanish, French and German.
- I'm always using a locale 100% UTF-8.
- I would rather not have to use regular expressions.
- A patch might use ASCII transliterations of Unicode as Unidecode/cUnidecode does. Most of mlocate is written on C.
Related
- Similar question but using
find
- Miloslav Trmač (
mlocate
developer) say here that the official source code is on pagure.io (and a fork on Github). - I file an issue on mlocate repo at Pagure.io to add this feature.
Update 2018-02: This can be fixed with this pull request by marcotrevisan. Will add a-t
/--transliterate
support usingiconv
to match accented.
Update 2018-03:mlocate
with support for--transliterate
is now included in Ubuntu 18.04 LTS Bionic Beaver (v2 and v3.1).
command-line search find locate
add a comment
|
Sometimes I need to search files with accented characters (diacritic in general), usually with locate/mlocate. I wish to setup (maybe in /etc/updatedb.conf
) so it let me search for this special characters using a certain language mapping, for example:
a == âàáäÂÀÂÄ
e == êèéëÊÈÉË
i == îïíÎÏ
o == ôöóÔÖ
u == ûùüÛÜÙ
c == çÇ
n == ñ
So locate -i liberación
also search for files with string liberacion and even liberaciòn.
Notes and assumptions
- And maybe others: ÂÃÄÀÁÅÆ ÇÈÉÊËÌÍÎÏ ÐÑÒÓÔÕÖØÙÚÛÜÝÞ ßàáâãäåæç èéêëìíîïðñòóôõö øùúûüýþÿ.
- This is a common situation on romance languages like Spanish, French and German.
- I'm always using a locale 100% UTF-8.
- I would rather not have to use regular expressions.
- A patch might use ASCII transliterations of Unicode as Unidecode/cUnidecode does. Most of mlocate is written on C.
Related
- Similar question but using
find
- Miloslav Trmač (
mlocate
developer) say here that the official source code is on pagure.io (and a fork on Github). - I file an issue on mlocate repo at Pagure.io to add this feature.
Update 2018-02: This can be fixed with this pull request by marcotrevisan. Will add a-t
/--transliterate
support usingiconv
to match accented.
Update 2018-03:mlocate
with support for--transliterate
is now included in Ubuntu 18.04 LTS Bionic Beaver (v2 and v3.1).
command-line search find locate
add a comment
|
Sometimes I need to search files with accented characters (diacritic in general), usually with locate/mlocate. I wish to setup (maybe in /etc/updatedb.conf
) so it let me search for this special characters using a certain language mapping, for example:
a == âàáäÂÀÂÄ
e == êèéëÊÈÉË
i == îïíÎÏ
o == ôöóÔÖ
u == ûùüÛÜÙ
c == çÇ
n == ñ
So locate -i liberación
also search for files with string liberacion and even liberaciòn.
Notes and assumptions
- And maybe others: ÂÃÄÀÁÅÆ ÇÈÉÊËÌÍÎÏ ÐÑÒÓÔÕÖØÙÚÛÜÝÞ ßàáâãäåæç èéêëìíîïðñòóôõö øùúûüýþÿ.
- This is a common situation on romance languages like Spanish, French and German.
- I'm always using a locale 100% UTF-8.
- I would rather not have to use regular expressions.
- A patch might use ASCII transliterations of Unicode as Unidecode/cUnidecode does. Most of mlocate is written on C.
Related
- Similar question but using
find
- Miloslav Trmač (
mlocate
developer) say here that the official source code is on pagure.io (and a fork on Github). - I file an issue on mlocate repo at Pagure.io to add this feature.
Update 2018-02: This can be fixed with this pull request by marcotrevisan. Will add a-t
/--transliterate
support usingiconv
to match accented.
Update 2018-03:mlocate
with support for--transliterate
is now included in Ubuntu 18.04 LTS Bionic Beaver (v2 and v3.1).
command-line search find locate
Sometimes I need to search files with accented characters (diacritic in general), usually with locate/mlocate. I wish to setup (maybe in /etc/updatedb.conf
) so it let me search for this special characters using a certain language mapping, for example:
a == âàáäÂÀÂÄ
e == êèéëÊÈÉË
i == îïíÎÏ
o == ôöóÔÖ
u == ûùüÛÜÙ
c == çÇ
n == ñ
So locate -i liberación
also search for files with string liberacion and even liberaciòn.
Notes and assumptions
- And maybe others: ÂÃÄÀÁÅÆ ÇÈÉÊËÌÍÎÏ ÐÑÒÓÔÕÖØÙÚÛÜÝÞ ßàáâãäåæç èéêëìíîïðñòóôõö øùúûüýþÿ.
- This is a common situation on romance languages like Spanish, French and German.
- I'm always using a locale 100% UTF-8.
- I would rather not have to use regular expressions.
- A patch might use ASCII transliterations of Unicode as Unidecode/cUnidecode does. Most of mlocate is written on C.
Related
- Similar question but using
find
- Miloslav Trmač (
mlocate
developer) say here that the official source code is on pagure.io (and a fork on Github). - I file an issue on mlocate repo at Pagure.io to add this feature.
Update 2018-02: This can be fixed with this pull request by marcotrevisan. Will add a-t
/--transliterate
support usingiconv
to match accented.
Update 2018-03:mlocate
with support for--transliterate
is now included in Ubuntu 18.04 LTS Bionic Beaver (v2 and v3.1).
command-line search find locate
command-line search find locate
edited Dec 27 '18 at 20:06
Pablo A
asked Apr 25 '17 at 19:06
Pablo APablo A
4,0802 gold badges20 silver badges47 bronze badges
4,0802 gold badges20 silver badges47 bronze badges
add a comment
|
add a comment
|
2 Answers
2
active
oldest
votes
If we take a look at updatedb.conf(5)
, we'll find that there is no much we can do with configuration items.
So we are going to write a script using locate
; At the end we are able to run something like my-locate.sh liberacion
or my-locate.sh liberâciòn
and it will brings us all the possible combinations.
Lets start
First create a simple file as our database anywhere you want it to be, e.g: ~/.mydb
; then add your accents characters into that file like this:
aâàáäÂÀÂÄ
eêèéëÊÈÉË
iîïíÎÏ
uûùüÛÜÙ
cçÇ
oôöóÔÖóòòò
...
...
Then we need a small script which does the job for us, I wrote a simple one:
#!/bin/bash
# Final search term
STR=""
# Loop throughout all characters of desired string
for (( i=0; i<$#1; i++ )); do
# Split the string in one char
CH="$1:$i:1"
# Find all possible combinations of this char
CHARS=$(grep "$CH" ~/.mydb)
# Add an "or" operator between characters
REG=$(echo "$CHARS" | sed 's/.1/&|/g' )
REG="($REG)"
# Append all possible combination of this character
# to our final search term as an or statement
if [ "$REG" == '()' ];
then
STR=$STR$CH
else
STR=$STR$REG
fi
done
# locate it using regex
locate --regex "$STR$"
Now save it somewhere in your PATH with a desired name, e.g: in ~/bin
. It should be already in your PATH environment.
After all simply use something like this to search all possible combinations.
my-locate.sh liberacion
Will find for me all of these:
~/lab/liberacion
~/lab/liberaciòn
~/lab/liberación
~/lab/liberâciòn
~/lab/liberäciòn
~/lab/libÈrâciòn
You can usegrep -f
orfgrep
to avoid the interpretation of"$CH"
as a special character, e. g.grep ^
would match any line butgrep -f ^
only matches those that contain the character^
. It may also be easier to use character classes to craft the regular expression, i. e.REG="[$CHARS]"
is probably easier than yoursed
command. Watch out for special characters though! Otherwise a good approach. +1
– David Foerster
May 22 '17 at 9:13
add a comment
|
Now with mlocate 0.26 we have -t --transliterate
option (see the man page) on Ubuntu 18.04+ (without the need of odd workarounds):
Creating some test files:
$ touch liberación liberacion liberaciôn
Update and search:
$ updatedb
$ locate --transliterate liberacion
/home/pablo/liberacion
/home/pablo/liberación
/home/pablo/liberaciôn
So now locate -t liberación
also search for files with string liberacion
and even liberaciòn
!
Finally, creating an alias on my .bashrc :-)
$ alias locate="locate --transliterate"
add a comment
|
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "89"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f908881%2fsearch-with-diacritics-accents-characters-with-locate-command%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
If we take a look at updatedb.conf(5)
, we'll find that there is no much we can do with configuration items.
So we are going to write a script using locate
; At the end we are able to run something like my-locate.sh liberacion
or my-locate.sh liberâciòn
and it will brings us all the possible combinations.
Lets start
First create a simple file as our database anywhere you want it to be, e.g: ~/.mydb
; then add your accents characters into that file like this:
aâàáäÂÀÂÄ
eêèéëÊÈÉË
iîïíÎÏ
uûùüÛÜÙ
cçÇ
oôöóÔÖóòòò
...
...
Then we need a small script which does the job for us, I wrote a simple one:
#!/bin/bash
# Final search term
STR=""
# Loop throughout all characters of desired string
for (( i=0; i<$#1; i++ )); do
# Split the string in one char
CH="$1:$i:1"
# Find all possible combinations of this char
CHARS=$(grep "$CH" ~/.mydb)
# Add an "or" operator between characters
REG=$(echo "$CHARS" | sed 's/.1/&|/g' )
REG="($REG)"
# Append all possible combination of this character
# to our final search term as an or statement
if [ "$REG" == '()' ];
then
STR=$STR$CH
else
STR=$STR$REG
fi
done
# locate it using regex
locate --regex "$STR$"
Now save it somewhere in your PATH with a desired name, e.g: in ~/bin
. It should be already in your PATH environment.
After all simply use something like this to search all possible combinations.
my-locate.sh liberacion
Will find for me all of these:
~/lab/liberacion
~/lab/liberaciòn
~/lab/liberación
~/lab/liberâciòn
~/lab/liberäciòn
~/lab/libÈrâciòn
You can usegrep -f
orfgrep
to avoid the interpretation of"$CH"
as a special character, e. g.grep ^
would match any line butgrep -f ^
only matches those that contain the character^
. It may also be easier to use character classes to craft the regular expression, i. e.REG="[$CHARS]"
is probably easier than yoursed
command. Watch out for special characters though! Otherwise a good approach. +1
– David Foerster
May 22 '17 at 9:13
add a comment
|
If we take a look at updatedb.conf(5)
, we'll find that there is no much we can do with configuration items.
So we are going to write a script using locate
; At the end we are able to run something like my-locate.sh liberacion
or my-locate.sh liberâciòn
and it will brings us all the possible combinations.
Lets start
First create a simple file as our database anywhere you want it to be, e.g: ~/.mydb
; then add your accents characters into that file like this:
aâàáäÂÀÂÄ
eêèéëÊÈÉË
iîïíÎÏ
uûùüÛÜÙ
cçÇ
oôöóÔÖóòòò
...
...
Then we need a small script which does the job for us, I wrote a simple one:
#!/bin/bash
# Final search term
STR=""
# Loop throughout all characters of desired string
for (( i=0; i<$#1; i++ )); do
# Split the string in one char
CH="$1:$i:1"
# Find all possible combinations of this char
CHARS=$(grep "$CH" ~/.mydb)
# Add an "or" operator between characters
REG=$(echo "$CHARS" | sed 's/.1/&|/g' )
REG="($REG)"
# Append all possible combination of this character
# to our final search term as an or statement
if [ "$REG" == '()' ];
then
STR=$STR$CH
else
STR=$STR$REG
fi
done
# locate it using regex
locate --regex "$STR$"
Now save it somewhere in your PATH with a desired name, e.g: in ~/bin
. It should be already in your PATH environment.
After all simply use something like this to search all possible combinations.
my-locate.sh liberacion
Will find for me all of these:
~/lab/liberacion
~/lab/liberaciòn
~/lab/liberación
~/lab/liberâciòn
~/lab/liberäciòn
~/lab/libÈrâciòn
You can usegrep -f
orfgrep
to avoid the interpretation of"$CH"
as a special character, e. g.grep ^
would match any line butgrep -f ^
only matches those that contain the character^
. It may also be easier to use character classes to craft the regular expression, i. e.REG="[$CHARS]"
is probably easier than yoursed
command. Watch out for special characters though! Otherwise a good approach. +1
– David Foerster
May 22 '17 at 9:13
add a comment
|
If we take a look at updatedb.conf(5)
, we'll find that there is no much we can do with configuration items.
So we are going to write a script using locate
; At the end we are able to run something like my-locate.sh liberacion
or my-locate.sh liberâciòn
and it will brings us all the possible combinations.
Lets start
First create a simple file as our database anywhere you want it to be, e.g: ~/.mydb
; then add your accents characters into that file like this:
aâàáäÂÀÂÄ
eêèéëÊÈÉË
iîïíÎÏ
uûùüÛÜÙ
cçÇ
oôöóÔÖóòòò
...
...
Then we need a small script which does the job for us, I wrote a simple one:
#!/bin/bash
# Final search term
STR=""
# Loop throughout all characters of desired string
for (( i=0; i<$#1; i++ )); do
# Split the string in one char
CH="$1:$i:1"
# Find all possible combinations of this char
CHARS=$(grep "$CH" ~/.mydb)
# Add an "or" operator between characters
REG=$(echo "$CHARS" | sed 's/.1/&|/g' )
REG="($REG)"
# Append all possible combination of this character
# to our final search term as an or statement
if [ "$REG" == '()' ];
then
STR=$STR$CH
else
STR=$STR$REG
fi
done
# locate it using regex
locate --regex "$STR$"
Now save it somewhere in your PATH with a desired name, e.g: in ~/bin
. It should be already in your PATH environment.
After all simply use something like this to search all possible combinations.
my-locate.sh liberacion
Will find for me all of these:
~/lab/liberacion
~/lab/liberaciòn
~/lab/liberación
~/lab/liberâciòn
~/lab/liberäciòn
~/lab/libÈrâciòn
If we take a look at updatedb.conf(5)
, we'll find that there is no much we can do with configuration items.
So we are going to write a script using locate
; At the end we are able to run something like my-locate.sh liberacion
or my-locate.sh liberâciòn
and it will brings us all the possible combinations.
Lets start
First create a simple file as our database anywhere you want it to be, e.g: ~/.mydb
; then add your accents characters into that file like this:
aâàáäÂÀÂÄ
eêèéëÊÈÉË
iîïíÎÏ
uûùüÛÜÙ
cçÇ
oôöóÔÖóòòò
...
...
Then we need a small script which does the job for us, I wrote a simple one:
#!/bin/bash
# Final search term
STR=""
# Loop throughout all characters of desired string
for (( i=0; i<$#1; i++ )); do
# Split the string in one char
CH="$1:$i:1"
# Find all possible combinations of this char
CHARS=$(grep "$CH" ~/.mydb)
# Add an "or" operator between characters
REG=$(echo "$CHARS" | sed 's/.1/&|/g' )
REG="($REG)"
# Append all possible combination of this character
# to our final search term as an or statement
if [ "$REG" == '()' ];
then
STR=$STR$CH
else
STR=$STR$REG
fi
done
# locate it using regex
locate --regex "$STR$"
Now save it somewhere in your PATH with a desired name, e.g: in ~/bin
. It should be already in your PATH environment.
After all simply use something like this to search all possible combinations.
my-locate.sh liberacion
Will find for me all of these:
~/lab/liberacion
~/lab/liberaciòn
~/lab/liberación
~/lab/liberâciòn
~/lab/liberäciòn
~/lab/libÈrâciòn
edited May 22 '17 at 9:09
David Foerster
29.3k13 gold badges69 silver badges115 bronze badges
29.3k13 gold badges69 silver badges115 bronze badges
answered Apr 26 '17 at 15:28
RavexinaRavexina
36.3k15 gold badges98 silver badges127 bronze badges
36.3k15 gold badges98 silver badges127 bronze badges
You can usegrep -f
orfgrep
to avoid the interpretation of"$CH"
as a special character, e. g.grep ^
would match any line butgrep -f ^
only matches those that contain the character^
. It may also be easier to use character classes to craft the regular expression, i. e.REG="[$CHARS]"
is probably easier than yoursed
command. Watch out for special characters though! Otherwise a good approach. +1
– David Foerster
May 22 '17 at 9:13
add a comment
|
You can usegrep -f
orfgrep
to avoid the interpretation of"$CH"
as a special character, e. g.grep ^
would match any line butgrep -f ^
only matches those that contain the character^
. It may also be easier to use character classes to craft the regular expression, i. e.REG="[$CHARS]"
is probably easier than yoursed
command. Watch out for special characters though! Otherwise a good approach. +1
– David Foerster
May 22 '17 at 9:13
You can use
grep -f
or fgrep
to avoid the interpretation of "$CH"
as a special character, e. g. grep ^
would match any line but grep -f ^
only matches those that contain the character ^
. It may also be easier to use character classes to craft the regular expression, i. e. REG="[$CHARS]"
is probably easier than your sed
command. Watch out for special characters though! Otherwise a good approach. +1– David Foerster
May 22 '17 at 9:13
You can use
grep -f
or fgrep
to avoid the interpretation of "$CH"
as a special character, e. g. grep ^
would match any line but grep -f ^
only matches those that contain the character ^
. It may also be easier to use character classes to craft the regular expression, i. e. REG="[$CHARS]"
is probably easier than your sed
command. Watch out for special characters though! Otherwise a good approach. +1– David Foerster
May 22 '17 at 9:13
add a comment
|
Now with mlocate 0.26 we have -t --transliterate
option (see the man page) on Ubuntu 18.04+ (without the need of odd workarounds):
Creating some test files:
$ touch liberación liberacion liberaciôn
Update and search:
$ updatedb
$ locate --transliterate liberacion
/home/pablo/liberacion
/home/pablo/liberación
/home/pablo/liberaciôn
So now locate -t liberación
also search for files with string liberacion
and even liberaciòn
!
Finally, creating an alias on my .bashrc :-)
$ alias locate="locate --transliterate"
add a comment
|
Now with mlocate 0.26 we have -t --transliterate
option (see the man page) on Ubuntu 18.04+ (without the need of odd workarounds):
Creating some test files:
$ touch liberación liberacion liberaciôn
Update and search:
$ updatedb
$ locate --transliterate liberacion
/home/pablo/liberacion
/home/pablo/liberación
/home/pablo/liberaciôn
So now locate -t liberación
also search for files with string liberacion
and even liberaciòn
!
Finally, creating an alias on my .bashrc :-)
$ alias locate="locate --transliterate"
add a comment
|
Now with mlocate 0.26 we have -t --transliterate
option (see the man page) on Ubuntu 18.04+ (without the need of odd workarounds):
Creating some test files:
$ touch liberación liberacion liberaciôn
Update and search:
$ updatedb
$ locate --transliterate liberacion
/home/pablo/liberacion
/home/pablo/liberación
/home/pablo/liberaciôn
So now locate -t liberación
also search for files with string liberacion
and even liberaciòn
!
Finally, creating an alias on my .bashrc :-)
$ alias locate="locate --transliterate"
Now with mlocate 0.26 we have -t --transliterate
option (see the man page) on Ubuntu 18.04+ (without the need of odd workarounds):
Creating some test files:
$ touch liberación liberacion liberaciôn
Update and search:
$ updatedb
$ locate --transliterate liberacion
/home/pablo/liberacion
/home/pablo/liberación
/home/pablo/liberaciôn
So now locate -t liberación
also search for files with string liberacion
and even liberaciòn
!
Finally, creating an alias on my .bashrc :-)
$ alias locate="locate --transliterate"
edited Apr 15 at 16:06
answered Dec 27 '18 at 20:24
Pablo APablo A
4,0802 gold badges20 silver badges47 bronze badges
4,0802 gold badges20 silver badges47 bronze badges
add a comment
|
add a comment
|
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f908881%2fsearch-with-diacritics-accents-characters-with-locate-command%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown