- 1
pattern=hidden; find . | grep -e ".*\.java$" | xargs sh -ac 'for arg in $@; do cat -n $arg | grep -e "$pattern" > /dev/null && echo $arg && cat -n $arg | grep -e "$pattern"; done'
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−116
pattern=hidden; find . | grep -e ".*\.java$" | xargs sh -ac 'for arg in $@; do cat -n $arg | grep -e "$pattern" > /dev/null && echo $arg && cat -n $arg | grep -e "$pattern"; done'
Нужно было поискать юзаджи по коду.
Вот такое вот наворотил.
Каюсь...
bormand 06.03.2013 23:31 # +2
Я обычно говнокодю подобный поиск как-то так:
grep -r --include \*.java hidden *
Я так понимаю этот код написан как раз ради того, чтобы убрать префиксы, и выводить имя файла только 1 раз?
myzone 07.03.2013 01:17 # +1
Грепаем 2 раза только для того, чтобы не выводить имен файлов без совпадений.
PS Да, одноразовая, хотя может быть оформлю как скриптик и положу в папочку со всякими утилитами, может еще когда пригодится.
bormand 07.03.2013 05:28 # 0
myzone 07.03.2013 16:19 # 0
Dummy00001 07.03.2013 21:22 # 0
еще, если ты в VIM разбераешься, можешь в нем :grep или :vim коммандами пользоватся. :vim медлее чем :grep но там тебе и регулярки почти полноценные, и маски файлов человеческие.
например, аналог в VIM:
:vim /pattern/ **/*.java
а потом :cn и :cp (у меня на F5 и F6 посаженые) (или :cw) что бы по результатам ходить.
bormand 07.03.2013 21:34 # +1
Видимо тем, что выводит имя файла в каждой строке. А myzone хочется, чтобы имя файла выводилось 1 раз перед самими совпадениями.
Dummy00001 07.03.2013 21:38 # +1
wvxvw 06.03.2013 23:47 # 0
Да и писать чуть меньше даже получится.
roman-kashitsyn 07.03.2013 08:49 # 0
wvxvw 07.03.2013 09:11 # +1
roman-kashitsyn 07.03.2013 11:02 # +1
wvxvw 07.03.2013 00:04 # 0
Не? Хотя, наверное, можно было и короче (awk как-то не айс тут).
bormand 07.03.2013 05:26 # 0
wvxvw 07.03.2013 08:40 # 0
А, я понял, ну тогда вот такое вот родилось.
bormand 07.03.2013 08:42 # 0
wvxvw 07.03.2013 08:45 # 0
eth0 07.03.2013 16:15 # 0
guest 08.03.2013 10:43 # +1
guest 08.03.2013 10:43 # +1