2017-01-18 12 views
0

find -E.-Regex '. *. Java $' Результат следующий: почему в начале есть «./»? Как я могу удалить './' на выходе?В терминале Mac я хочу найти определенные файлы в текущем каталоге, но результат не тот, который я хочу?

MacBook-Pro:Code fqyuan$ find -E . -regex '.*\.java$' 
output is: 
./GZIPcompress.java 
./SubsetsII.java 
./Ugly.java 
+0

ли вам нужно регулярное выражение? 'найти. -type f -name '* .java'' должен найти все файлы Java с простым globbing. См. Http://stackoverflow.com/q/2596462/1531971 – jdv

+0

Это Q не о программировании, как определено для StackOverflow. Это ** может быть более уместным на S.E. связанные с сайтом http://apple.stackexchange.com (AskDifferent) ИЛИ http://SuperUser.com. Используйте ссылку 'flag' в нижней части вашего Q и попросите модератора переместить ее туда. Пожалуйста, не публикуйте те же Q на двух разных сайтах. Пожалуйста, прочитайте http://stackoverflow.com/help/how-to-ask http://stackoverflow.com/help/dont-ask и http://stackoverflow.com/help/mcve, прежде чем отправлять больше вопросов здесь. Удачи. – shellter

ответ

0

Вы можете использовать cut выбрать только определенную часть строки:

find -E . -regex '.*\.java$' | cut -c3- 

cut -c3- только выберите 3-й, 4-й, 5-й, ... только символы.

Кстати, вместо того, чтобы использовать -E и -regex опции, команда find можно упростить, используя -name вариант:

find . -name '*.java' | cut -c3-