පර්යන්තයේ යම් පෙළක් සහිත ගොනු සොයා ගන්නේ කෙසේද


185

කිසියම් පෙළක් අඩංගු සියලුම ලිපිගොනු සොයා ගැනීමට මම කැමතියි. ඔබ එය පර්යන්තයේදී කරන්නේ කෙසේද?


ඔබට වේගවත් ප්‍රති result ලයක් අවශ්‍ය නම්, ස්පොට් ලයිට් භාවිතා කරන්න. PDF හෝ ODF වැනි ගොනුව තුළ කෙලින්ම පෙළ ගබඩා නොකරන ගොනු සොයා ගැනීමට ඔබට අවශ්‍ය නම්.
ජෝයි

හොඳ උපදෙස්, නමුත් මගේ නඩුවේදී ගොනු ජාල ධාවකවල ඇති බැවින් ඒවා සුචිගත කර ඇති බව මට විශ්වාස නැත. තවද ඒවා විශේෂිත වැඩසටහනකට අයත් xml ගොනු වේ.
ස්විෂ්

Unix.stackexchange.com/a/37932/213832 දෙස බලන්න මෙම විසඳුම හොඳින් ක්‍රියාත්මක වේ
boyd4715

Answers:


308
grep -r 'text goes here' path_goes_here


මෙය මාර්ගයේ පවතින සෑම ගොනුවක්ම ලැයිස්තුගත කර එකතු කරයි: No such file or directory මම උත්සාහ කරන්නේ පෙළ සිදුවීම් ලැයිස්තුවක් ලබා ගැනීමට ය. අපට එම ලැයිස්තුව ලබා ගත හැක්කේ කෙසේද?
CP3O

9
තේරුණා : grep -lr "text pattern" ./ -s; grep -lr "text pattern" [PATH OF PARENT] -s
CP3O

නමුත් මෙය ලිපිගොනු විස්තර (නම, මාර්ගය) නොව ගැලපෙන ලිපිගොනු වල අන්තර්ගතය ලබා දෙයි. 3 CP3O හි යෝජනාව ක්‍රියාත්මක වේ.
භූ විද්‍යාව

31

අවධානය යොමු කරන්න

mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"

බැලීමට අමතක නොකරන්න:

man mdfind

2
අවධානය යොමු නොකරන ගොනු සඳහා මෙය ක්‍රියා කරයිද (එනම් සැඟවුණු ෆෝල්ඩර තුළ ඇති ගොනු, පද්ධති වින්‍යාස ගොනු ආදිය)?
පීටර් බර්ග්

ග්‍රෙප් .xlsx ගොනු විග්‍රහ කරන බවක් නොපෙනේ, නමුත් මෙය හොඳින් ක්‍රියාත්මක විය. තවත් පහසු උදාහරණයක්: mdfind -onlyin. "searchtext"
FvD

12
  1. ඇක් හරහා
brew install ack 
ack "text goes here"
  1. සොයා ගැනීම හරහා
find . |grep "text goes here"
  1. ග්‍රෙප් හරහා
grep -RnslI "text goes here"

3

ඔබේ රසය හා අවශ්‍යතා අනුව ඔබට පහත එකක් තෝරා ගත හැකිය. වත්මන් නාමාවලියෙහි පුනරාවර්තන ලෙස "අසින්ක්" යන පෙළ අඩංගු ලිපිගොනු සෙවීමට ඔබට අවශ්‍ය යැයි සිතමු, ඔබට පහත දැක්වෙන ආකාරවලින් එය කළ හැකිය:

Grep භාවිතා කිරීම රූප විස්තරය මෙහි ඇතුළත් කරන්න

අක්කර භාවිතා කිරීම රූප විස්තරය මෙහි ඇතුළත් කරන්න


2

ඉග්නේෂියෝගේ පිළිතුර විශිෂ්ට වන අතර ඇතැම් පෙළ අඩංගු ලිපිගොනු සොයා ගැනීමට මට උදව් විය. මා මුහුණ දුන් එකම ගැටළුව වූයේ මෙම විධානය ක්‍රියාත්මක කිරීමේදී රටාව නොපෙන්වන සියලුම ලිපිගොනු ලැයිස්තුගත කිරීමයි.

No such file or directory රටාව අඩංගු නොවන ගොනු සමඟ මා දකින්නේ මෙයයි.

ඔබ එකතු වෙනුවට නම් -sදී මෙන්, විධානය: grep -lr "text pattern" ./ -s;grep -lr "text pattern" [PATH DIRECTORY] -sභාවිතා කරයි, එය ඔබට පෙන්වන්නේ රටාව අඩංගු ගොනු මොනවාද යන්න පමණි.

ඒ හා සමාන නම් grep -nr "text pattern" ./ -s;grep -nr "text pattern" [PATH OF DIRECTORY] -sවිධානය භාවිතා කරන අතර එය ගොනුව සහ රේඛා අංකය මුද්‍රණය කරයි, සහ රටාවේ සිදුවීම.

මගේ අවබෝධය වැරදියි නම් කරුණාකර මාව නිවැරදි කරන්න.

යොමුව: grep 'එවැනි ගොනුවක් හෝ නාමාවලියක් නැත' දෝෂ මුද්‍රණය නොකරන්නේ කෙසේද?


එවැනි කරදර වළක්වා ගත හැකි තවත් ක්‍රමයක් නම් එවැනි ලිපිගොනු දෝෂ නොමැත , පයිප්ප stderr ශුන්‍ය කිරීමට ය. grep ... 2>/dev/null. මෙම විසඳුම බොහෝ වැඩසටහන් සඳහා ක්‍රියා කරයි, මන්ද ඔවුන් දෝෂ පණිවිඩ වාර්තා කරන්නේ stderr ප්‍රවාහයේ මිස stdout නොවේ. බොහෝ ලිපිගොනු සඳහා අවසර ප්‍රතික්ෂේප කළ findබව පවසන පරිදි මම මෙම විසඳුම බොහෝ වාරයක් භාවිතා කර ඇත්තෙමි .
jpaugh

(1) No such file or directoryපවතින ලිපිගොනු සඳහා ඔබට පණිවිඩ ලැබෙන්නේ නම් , එක්කෝ ඔබ යම් වැරැද්දක් කරයි, නැතහොත් ඔබේ පද්ධතිය කැඩී ඇත. (2) [PATH OF PARENT]කිසිවක් සමඟ ඇති සම්බන්ධය කුමක්ද?
ජී-මෑන් පවසන්නේ 'මොනිකා නැවත

@ ජී-මෑන් මම පිළිතුර සංස්කරණය කළේ [PATH OF DIRECTORY]නුහුරු නුපුරුදු කෙනෙකුට මා තැබුවේ ඇයි දැයි දැන ගැනීමට අවශ්‍ය නම්./
CP3O

@ ජී-මෑන් මම භාවිතා කරන්නේ මැක් නොව උබුන්ටු, මගේ පද්ධතිය බිඳී යන්නේ කෙසේදැයි විශ්වාස නැත, මම තවමත් ඒ පිළිබඳව කිසිවක් කර නැත.
CP3O
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.