එකක් පමණක් නොමැති නිසා මෙහි විශාල ව්යාකූලත්වයක් ඇත zgrep
. මම මගේ පද්ධතිය මත අනුවාද දෙකක් ඇති, zgrep
සිට gzip
හා zgrep
සිට zutils
. කලින් සඳහන් කර ඇත්තේ එතෙර ලියවිල්ලකි gzip -cdfq
. එය -r, --recursive
ස්විචයට සහය නොදක්වයි . 1
මෙම රඹුටන් රටේ c++
වැඩසටහන සහ එය සහය වන -r, --recursive
විකල්පය.
ධාවනය zgrep --version | head -n 1
කිරීමෙන් ඒවායින් එකක් (ඇත්නම්) පෙරනිමිය බව අනාවරණය වේ:
zgrep (gzip) 1.6
එතීමේ පිටපත,
zgrep (zutils) 1.3
යනු cpp
ක්රියාත්මක.
ඔබට දෙවැන්න තිබේ නම් ඔබට ධාවනය කළ හැකිය:
zgrep 'pattern' -r --format=gz /path/to/dir
කෙසේ වෙතත්, යෝජනා කර ඇති පරිදි, find
+ හි zgrep
අනුවාදය සමඟ සමානව ක්රියා කරයි zgrep
:
find /path/to/dir -name '*.gz' -exec zgrep -- 'pattern' {} +
නම් zgrep
ඔබේ පද්ධතිය හා අතුරුදහන් (බෙහෙවින් ම නො) ඔබ සමඟ උත්සාහ කරන්න:
find /path/to/dir -name '*.gz' -exec sh -c 'gzip -cd "$0" | grep -- "pattern"' {} \;
නමුත් විශාල අවාසියක් ඇත: ගැලපෙන රේඛාවලට පෙර ලිපිගොනු නාමයක් නොමැති බැවින් තරඟ කොතැනදැයි ඔබ නොදනී.
1: මන්ද එය ගැටළු සහගත වනු ඇත
zgrep
:zgrep - search possibly compressed files for a regular expression