Найдите файл в каталоге из командной строки

Вам просто нужно добавить этот код

 SELECT [Codel],
case WHEN  (CHARINDEX('.',[Codel]) > 0) then 

    CONCAT(PARSENAME([Codel], 1), '-',
           PARSENAME([Codel], 2), '-',
           PARSENAME([Codel], 3), '-',
           PARSENAME([Codel], 4))  
           else [Codel] end
            true_template

  FROM [TestDB].[dbo].[CodelTbl]
44
задан tshepang 13 October 2014 в 17:27
поделиться

6 ответов

find /root/directory/to/search -name 'filename.*'
# Directory is optional (defaults to cwd)

Стандартный UNIX globbing поддерживается. См. man find для получения дополнительной информации.

при использовании Vim можно использовать:

:e **/filename.cpp

Или :tabn или любая команда Vim, которая принимает имя файла.

65
ответ дан strager 26 November 2019 в 22:08
поделиться

Если Вы надеетесь делать что-то со списком файлов, можно использовать, находят объединенными с ударом $() конструкция (лучше, чем обратные галочки, так как позволяется вложить).

, например, скажите, что Вы на верхнем уровне Вашего каталога проекта, и Вы хотите список всех файлов C, запускающихся с "B-дерева". Команда:

find . -type f -name 'btree*.c'

возвратит список их. Но это действительно не помогает с выполнением чего-то с ними.

Так, давайте далее предположим, что Вы хотите искать все, что они регистрируют для строки "ОШИБКУ" или редактируют их всех. Можно выполнить один из:

grep ERROR $(find . -type f -name 'btree*.c')
vi $(find . -type f -name 'btree*.c')

, чтобы сделать это.

8
ответ дан paxdiablo 26 November 2019 в 22:08
поделиться

Когда я был в мире UNIX (использующий tcsh (вздох...)), я раньше имел все виды установки псевдонимов/сценариев "находки" для поиска файлов. Я думаю, что синтаксис "находки" по умолчанию является немного неуклюжим, таким образом, я раньше имел псевдонимы/сценарии для передачи по каналу, "находят. - печатают" в grep, который позволяет Вам использовать регулярные выражения для поиска:

# finds all .java files starting in current directory
find . -print | grep '\.java'

#finds all .java files whose name contains "Message"
find . -print | grep '.*Message.*\.java'

, Конечно, вышеупомянутые примеры могут быть, покончили простая находка, но если у Вас есть более определенный поиск, grep может помочь вполне немного. Это работает вполне прилично, если "не находят. - печать" имеет слишком много каталогов для рекурсивного вызова через... тогда это становится довольно медленным. (например, Вы не хотели бы делать этот запуск в корне "/")

3
ответ дан Andy White 26 November 2019 в 22:08
поделиться

http://content.hccfl.edu/pollock/Unix/FindCmd.htm

linux/unix "находят" команду.

0
ответ дан Stefan Kendall 26 November 2019 в 22:08
поделиться

Да, bash имеет механизмы завершения имени файла. Я не использую их сам (слишком ленивый для изучения, и я не считаю необходимым достаточно часто сделать это срочным), но основной механизм должен ввести первые несколько символов и затем вкладку; это расширит имя насколько оно может (возможно, нисколько) как долго, поскольку имя однозначно. Существует полная лодка команд Emacs-стиля, связанных с завершением в старой доброй странице справочника.

0
ответ дан Jonathan Leffler 26 November 2019 в 22:08
поделиться

Я использую этот скрипт для быстрого поиска файлов по каталогам в проекте. Я нашел, что он отлично работает и использует автозаполнение Vim'а, открывая и закрывая новый буфер для поиска. Он также умно завершает как можно больше для вас, так что вы обычно можете просто набрать символ или два и открыть файл в любой директории в вашем проекте. Я начал использовать его специально из-за Java-проекта, и это сэкономило мне много времени. Вы просто строите кэш один раз, когда начинаете редактирование, набирая :FC (имена каталогов). Вы также можете просто использовать . для получения текущего каталога и всех подкаталогов. После этого Вы просто набираете :FF (или FS, чтобы открыть новый сплит) и он откроет новый буфер, чтобы выбрать нужный Вам файл. После выбора файла буфер temp закрывается, и вы находитесь внутри запрашиваемого файла и можете начать редактирование. Кроме того, здесь - еще одна ссылка на Переполнение стека, которая может помочь.

.
1
ответ дан 26 November 2019 в 22:08
поделиться