리눅스 콘솔에서 "찾기" 기능

ar의 이미지

Cgywin에서 개발을 하고 있습니다.
리눅스에서 검색 정도는 find 유틸을 활용한 검색 밖에 할 줄 모르거든요 ㅡ.ㅜ
근데.. 그것도 넘 힘드네요. 제가 사용하는 방식은

find ./ -name [일정 범위 ㅡ.ㅜ] -print -type f -exec cat {} \; | grep 키워드

이런식으로 해서 찾아 가는건데.. 넘 힘드네요 ㅡ.ㅜ
visual studio를 보면 다수의 파일들에서 검색하여서 검색 된 위치를 마우스 클릭
한번에 찾아가는 기능이 있죠..
이런 기능들을 콘솔에서는 명령어들의 조합을 통해서는 어케 안될런지요?
vi의 명령모드에서는 다수의 파일들(혹은 디렉토리)로부터의 검색은 안되나요?

irdeal의 이미지

vs에 만큼 많은 것을(?) 제공해주는 것은 아닌데..
리눅스에서 개발하려면 반드시 필요한 것이 cscope와 ctag 인것 같네요
vi와 연동해서 사용하면 매우 편리하지요..

May The Force Be With You
irdeal

May The Force Be With You
irdeal

ez8의 이미지

perl 초보라 허접한 스크립트지만 올려봅니다. perl 고수 분들이

고쳐주세요

#!/usr/bin/perl
 
use strict;
 
my ($grepopt, $findopt) = @ARGV;
 
foreach $_(`find $findopt -type f -exec grep -n $grepopt /dev/null {} \\;`) {
        my ($file, $line, $content) = split(/:/, $_);
        print "File: $file\nLine: $line\nContent: $content\n";
        print "Run vim? ";
        my $run = <STDIN>;
        if($run =~ /^[Yy]/) {
                system("vim $file +$line");
        }
}

find_source.pl assert "~/ -name *.cpp" 로 실행하시면 ~/ 의 *.cpp 에서 assert 를

찾아서 vim 을 실행할 지 물어봅니다.

단점은 검색을 다하고 물어보기 때문에 검색이 끝날때까지 기다려야됩니다.

jg의 이미지

첨부물과 같은 순서대로
1. M-x grep (M 은 보통 Alt키입니다)
2. grep명령어를 치고
3. 검색된 창에서 N(다음), P(이전)로 해당하는 파일의 라인을 선택하시면
다른 창에서 해당 파일을 열어줍니다.

$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}

atango의 이미지

locate 는 어떨까요? 예전에는 저도 find로 검색하다가 locate가 생긴 후로는 검색이 편해졌던데요.

자세한 것은 모르지만 파일 목록들을 Database에 저장시켜 두고 locate명령을 받으면 빨리 찾아주는 것 같아요.

단점이라면 updatedb를 가끔 수동으로 실행해주지 않으면 자동으로는 디비가 업데이트되지 않더군요. 어딘가 자동 업데이트 기능이 있는데 저만 모르는건지도 모르겠어요.

sakuragi의 이미지

cron.daily 쪽을 뒤져보시면 보통은 매일 새벽 4~5시 쯤 하는 걸로 되어 있을 껍니다.

----------

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.