Igyekszem jobban megtanulni a parancssort, és kíváncsi vagyok, mi lenne a különbség e két parancs között.
grep -c ^b example
és
grep ^b example| cat –n
megjegyzések
- Üdvözöljük a Unix és Linux . Ha meg akarja tanulni a parancssort, akkor a legjobb módszer az, ha kísérletezel, ha a parancsokat saját kezűleg futtatod különböző bemeneti fájlok segítségével. A kérdéseknek némi kutatási erőfeszítést kell megmutatniuk div id = “50f7e05252″>
d azt tanácsolja, hogy ellenőrizze a vonatkozó man oldalakat, hogy megtudja a különböző lehetőségek célját. A man oldalak nem a div div = = 50f7e05252 “>
legolvasóbbak, ha ' új a Unix szolgáltatásban, ezért ha bármilyen problémája merül fel a megértésével, szerkesztheti ezt a kérdést, hogy még jobb legyen specifikus (és hasznos). Lásd: Hogyan kérdezzek , és nyugodtan vegye fel a túrát .
Válasz
Nos a a kézikönyvnek megfelelően, grep
:
a PATTERN kifejezésre keres minden FÁJL ban. Alapértelmezés szerint a
grep
kinyomtatja az egyező sorokat.
és a -c
flag:
-c, --count
A normál kimenet elnyomása; ehelyett nyomtasson egy sor sorszámot minden bemeneti fájlhoz.
Tehát a grep -c ^b example
kinyomtatja a a mintának megfelelő sorok száma (szám), míg az grep ^b example
magukat a vonalakat nyomtatja ki.
Ami a cat
, le van írva, hogy
összefűzi a fájlokat, és kinyomtatja a szabványos kimenet
és a -n
zászló feladata:
-n, --number
az összes kimeneti sor számozása
A cső és nem fájlnevek, cat
kiolvassa a csőből, így a kimenet a grep
kimenete, sorszámokkal. Ezért kinyomtatja az összes egyező sort sorszámozva.
Ez eltér grep -n ^b example
-től, ahol >
hozzáteszi a li-t a meccsek száma. grep
tudja az eredeti fájl sorszámait, míg a cat
csak a grep
és ennek megfelelően számozza meg a sorokat.
Tehát, tekintettel a bemeneti fájlra
$ cat example bar foo basf
Megvan:
$ grep -c ^b example 2 $ grep ^b example |cat -n 1 bar 2 basf $ grep -n ^b example 1:bar 3:basf
Válasz
Ok parancs:
-
grep -c ^b example
: Azb
és a -
betűvel kezdődő sorok számának megadása
grep ^b example | cat -n
: adja át a grep parancs eredményét a cat parancsnak, és sorszámokkal sorolja fel őket. A-n
arra kényszeríti acat
-t, hogy sorszámokkal együtt felsorolja őket.
Példa :
example.txt tartalommal:
media sound3 media sound1 media sound2 find sound -type f -name sound[0-9] -printf "media %f\n" > file.txt find sound -type f -name sound[0-9] -exec bash -c "echo media bash >> file.txt" {} \; find sound -type f -name sound[0-9] -exec bash -c "f="{}"; echo media $( basename ${f}) >> file.txt" \;
Eredmény (1):
3
Eredmény (2):
1 media sound3 2 media sound1 3 media sound2
Megjegyzések
- Igen jogod van!