I want to list all the files having e as the nth character in their name in the current directory.
I tried this, but it's not working:
find -regextype posix-egrep -regex '^./[e]{5}\.txt$'
CodePudding user response:
want to list all the files having e as the nth character in their name in the current directory.
You may use:
find . -maxdepth 1 -regextype posix-egrep -regex '^\./.{4}e.*'
Regex breakdown:
^: Start\./: Match./.{4}: Match any 4 characterse: Match lettere.*: Match any text-maxdepth 1finds entries in current directory only
Or using print and glob:
printf '%s\n' ????e*
Here:
????: Match any 4 characterse: Matche*: Match any text
CodePudding user response:
Why don't you just use the standard wildcard stuff from bash? As in:
pax.diablo@ubuntu:/home/pax.diablo/test_dir> ls -1d ???e*
ragemix
Makefile
That'll expand to any file (in the widest sense of the word) in the current directory starting with three characters followed by an e.
