Ack dara ju grep

Mo fẹ sọ fun ọ nipa ohun elo wiwa kan ti o jẹ ki igbesi aye rọrun pupọ. Nigbati mo ba de ọdọ olupin ati pe Mo nilo lati wa nkankan, ohun akọkọ ti Mo ṣe ni ṣayẹwo boya a ti fi sori ẹrọ ack. IwUlO yii jẹ rirọpo ti o dara julọ fun grep, bakannaa wa ati wc si iye kan. Kilode ti kii ṣe grep? Ack ni awọn eto to dara julọ lati inu apoti, awọn aṣayan kika eniyan diẹ sii, perl regex ati eto atunto kan. Ti o ba fẹran (ni lati) wa nipasẹ ebute, lẹhinna o yẹ ki o gbiyanju ni pato.

Ipilẹ Awọn ẹya ara ẹrọ

Ack jẹ atunṣe nipasẹ aiyipada, ati kikọ awọn aṣayan diẹ jẹ imọran ti o dara nigbagbogbo.

A le lo asia -wlati sọ fun IwUlO lati wa apẹẹrẹ ti apẹẹrẹ wa ti o yika nipasẹ awọn aala ọrọ (aaye funfun, awọn gige, ati bẹbẹ lọ).

ack -w mysql

Ack dara ju grep

Ack ṣe atilẹyin wiwa nipasẹ iru faili. Fun apẹẹrẹ, jẹ ki a wa ẹya module ni awọn faili json.

ack --json '"version":s+"d+.d+.d+"'

Ack dara ju grep

Atokọ pipe ti awọn oriṣi faili ti o ni atilẹyin ni a le wo ni lilo:

ack --help-types

Nigbagbogbo o nilo lati ka iye igba ti gbolohun ọrọ yoo han ninu faili log, fun apẹẹrẹ, lati loye iye data ti a ṣe ilana iwe afọwọkọ naa.

Ack dara ju grep
A ka iye igba ilana ti o waye ninu faili test.log, kii ṣe akiyesi ọran (-i).

A le ka awọn iṣẹlẹ kii ṣe ni faili kan pato, ṣugbọn ni ẹgbẹ kan. Jẹ ki a pari wiwa iṣaaju fun ọrọ mysql: ka nọmba awọn iṣẹlẹ ti awọn ọrọ (-sninu * .js awọn faili (--js), laisi awọn faili ninu eyiti a ko rii ohunkohun (-h) ati akopọ abajade.

# выведем на экран все вхождения
ack --js -w mysql
# считаем общую сумму вхождений
ack --js -wch mysql

Ack dara ju grep

Ni afikun, a le gba ijabọ alaye lori nọmba awọn iṣẹlẹ ninu faili kọọkan nipa lilo (-l)

ack --js -w -cl mysql

Ack dara ju grep

Ti o ba nilo afikun ipo fun wiwa rẹ, o le beere ack
fihan awọn ila to (-B) ati lẹhin (-A) ti ikosile ri. Lati ṣe eyi, o nilo lati pato lẹhin aṣayan nọmba awọn ila ti o nilo lati han.

# 2 строки до 
ack --js --column -B 2 "query.once('" ./lib/

Ack dara ju grep

# 2 строки после 
ack --js --column -A 2 "query.once('" . /lib/

Ack dara ju grep

Ati pe ti o ba nilo mejeeji, lẹhinna lo (-PẸLU)

ack --js --column -C 2 "query.once('" ./lib/

Aṣayan tun wa (-v) lati yi wiwa pada, ie ṣafihan awọn ila ti ko ni ilana ti a fun.

Ikosile deede

Ack, ko dabi grep, nlo awọn ikosile ibaramu Perl.
Fun mi eyi jẹ afikun nla;

ack 'vars+adds+'

Ack dara ju grep

Diẹ eka apẹẹrẹ

ack '*s+[vd+.d+.d+]'

Ack dara ju grep

Nigbagbogbo o fẹ lati lọ kuro ni awọn abajade nikan ohun ti o baamu awoṣe naa. Aṣayan --jade yoo ṣe iranlọwọ nibi (-o)

ack -o '*s+[vd+.d+.d+]'

Ack dara ju grep

Ni afikun, ni lilo awọn akọmọ a le yan apakan ti a rii ki o wọle si ni iṣelọpọ nipasẹ $[nọmba ẹgbẹ] oniyipada. Fun apere,

ack --output='version is $1' '*s+[v(d+.d+.d+)]'

Ack dara ju grep

Ack ni awọn aṣayan to wulo --ibiti-ibẹrẹ и --ibiti-opin. Wọn ṣe iranlọwọ nigbati
Awọn data ti wa ni ipamọ kii ṣe ni laini kan, ṣugbọn ni fọọmu ila-pupọ.

Fun apẹẹrẹ, faili kan wa pẹlu koodu sql

Ack dara ju grep

Jẹ ki a jade awọn orukọ ọwọn. Ibẹrẹ bulọọki yoo jẹ laini ti o bẹrẹ pẹlu Yan, ati ipari yoo jẹ laini ti o bẹrẹ pẹlu FROM.

ack --range-start ^SELECT --range-end ^FROM 'td+.' ./test.sql

Ack dara ju grep

Ti ikosile wiwa ba ni awọn ohun kikọ pataki gẹgẹbi akoko kan, akọmọ, ati awọn miiran, lẹhinna ki o má ba sa fun wọn ni lilo , o le lo aṣayan -Q.

# Поиск с экранированием 
ack --json 'mysql.'    
# Поиск без экранирования
ack --json -Q mysql.

Ack dara ju grep

Ṣiṣẹ pẹlu awọn faili

Gba atokọ ti awọn faili pẹlu itẹsiwaju kan pato

ack -f --js

Ack dara ju grep

Wa gbogbo awọn faili js ti orukọ wọn bẹrẹ pẹlu P * ni lilo aṣayan (-g).

ack -g --js '/Pa.+.js$'

Ack dara ju grep

Iṣeto ni

Ohun elo naa ni faili atunto tirẹ. O le ni mejeeji atunto agbaye fun olumulo (~/.ackrc) ati agbegbe kan fun folda kan pato (o nilo lati ṣẹda faili .ackrc ninu folda).

Pupọ julọ awọn aṣayan ti a kọ sinu awọn atunto le jẹ pato pẹlu ọwọ nigbati a pe. Jẹ ki a wo diẹ ninu wọn.

Foju folda nigba wiwa

--ignore-dir=dist

Jẹ ki a ṣafikun iru faili aṣa kan -vue.

--type-add=vue:ext:js,vue

Bayi o le lo aṣayan --vue lati wa awọn faili .vue. Fun apere: aki --vue App.
O le pato akojọ kan ti awọn amugbooro fun aṣayan yii. Fun apẹẹrẹ, nibi, nigba lilo -vue, atẹle naa yoo ṣe ilana:
.js awọn faili.

Foju awọn faili, fun apẹẹrẹ miniified * .min.js

--ignore-file=match:/.min.js$/

eto

CentOS

yum update -y && yum install ack -y

Ubuntu

apt-get update -y && apt-get install ack-grep -y

Mac OS

brew update && brew install  ack

Fifi sori ẹrọ lati aaye naa

curl https://beyondgrep.com/ack-v3.3.1 > ~/bin/ack && chmod 0755 ~/bin/ack

Awọn afikun fun awọn olootu:

ipari

Awọn wọnyi ni o wa ko gbogbo awọn ti o ṣeeṣe. Akojọ kikun ti awọn iṣẹ le ṣee wo nipasẹ ṣiṣe:

ack –-help
# или
ack --man

IwUlO ack gba ọ laaye lati ṣe wiwa ni ebute ni irọrun diẹ sii ati rọ. Ati lilo opo gigun ti epo (ack -C 10 hello | aki aye) o le ṣẹda akojọpọ agbara fun wiwa ati sisẹ data ninu eto faili ati ninu awọn faili funrararẹ.

orisun: www.habr.com

Ra alejo gbigba igbẹkẹle fun awọn aaye pẹlu aabo DDoS, awọn olupin VPS VDS 🔥 Ra gbigbalejo oju opo wẹẹbu ti o gbẹkẹle pẹlu aabo DDoS, awọn olupin VPS VDS | ProHoster