Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Prečo je to zložité:
* Základné glóbusy: Štandardné škrupiny Unix používajú základné vzory glóbusov (*,?, [] Atď.). Môžu sa zhodovať s akýmkoľvek prípadom znakov, ale nedokážu rozlišovať medzi veľkými a malými písmenami pre konkrétne filtrovanie.
Riešenie:Použitie `find` a` grep`
Aby ste to dosiahli, môžete skombinovať „Nájsť“ a „Grep“. Takto:
`` `Bash
nájsť. -Type f -print0 | grep -ez '^./[^/]*[a -z] \.? [^/]*$' | xargs -0 ls -l
`` `
Vysvetlenie:
1. `Nájdite. -Type f -print0`:
- `find.":začne hľadať v aktuálnom adresári (`.")
- `-type f`:vyzerá iba pre bežné súbory
- `-print0`:Flats nájdené súbory oddelené nulovými znakmi (bezpečnejšie pre názvy súborov s priestormi)
2. `grep -ez '^./[^/]*[A -z] \.? [^/]*$'`:
- `Grep`:Filtruje výstup` find`
- `-e`:Umožňuje rozšírené regulárne výrazy pre väčšiu flexibilitu
-`-z`:Zaoberá sa vstupmi ako s nulovými reťazcami
- Regulárny výraz:
- `^.
- `[^/]*`:Zhoduje sa s akýmikoľvek znakmi okrem "/" (zabezpečenie, že sme stále v názve súboru)
- `[a-z]`:Zhoduje sa s jedným malým písmenom
- `\.? [^/]*`:Zhoduje sa s voliteľnou bodkou (`."
- `$`:Zhoduje sa s koncom riadku
3. `xargs -0 ls -l`:
-`Xargs -0`:Zoberte zoznam súborov s null z` Grep` a zostavuje argumenty príkazov
- `ls -l`:Uvádza súbory (môžete zmeniť na ľubovoľný príkaz, ktorý chcete vykonať vo filtrovaných súboroch)
Dôležité poznámky:
* skryté súbory: Nájdete skryté súbory (počnúc '.'), Ktoré spĺňajú kritériá.
* Citlivosť prípadu: Rozšírenie názvu vášho názvu vášho titulu Shell môže byť citlivé na prípad alebo necitlivé.
Dajte mi vedieť, ak chcete vyhľadávanie ďalej vylepšiť!