[LINUX] Rechercher des chaînes de caractères dans les fichiers [Comparaison entre Bash et PowerShell]

Revenir au tableau de correspondance des commandes Bash et PowerShell

J'ai appris un peu comment utiliser PowerShell.


Bash

Format de commande

$ grep [option] <La chaîne de caractères que vous souhaitez rechercher> [nom de fichier]

# [option]: 任意(以下は、私がよく使うoption)
    -i:Recherche indiscernable
    -I:Exclure les fichiers binaires de la recherche
    -n:Afficher le numéro de ligne de la pièce capturée lors de la recherche
    -r:Rechercher des fichiers dans des sous-répertoires
    -v: <La chaîne de caractères que vous souhaitez rechercher>Montrer ce qui ne correspond pas
    -w:Afficher uniquement les correspondances exactes
    --exclude="*.extension": 指定したextensionは検索対象外にする
    --include="*.extension": 指定したextensionのみ検索対象にする

# <La chaîne de caractères que vous souhaitez rechercher>:Obligatoire
Si l'espace est inclus au milieu, ""Chaîne de chaîne"Mettez entre guillemets doubles.

# [nom de fichier]:Facultatif (mais presque obligatoire)
Rechercher uniquement dans le fichier spécifié.
fondamentalement"*(Astérisque): C'est OK si vous spécifiez "Rechercher tous les fichiers".
Je souhaite affiner la cible de recherche (par exemple, hoge).Spécifiez un nom de fichier spécifique uniquement lorsque (fichier txt uniquement).

Exemple d'utilisation

Exemple 1) Rechercher tous les fichiers dans le répertoire courant avec hoge

$ grep hoge *

Exemple 2) Recherchez le fichier hoge.txt dans le répertoire courant avec hoge

$ grep hoge hoge.txt

Exemple 3) Rechercher une correspondance exacte avec main pour tous les fichiers, y compris les sous-répertoires

$ grep -rw main *

Exemple 4) Rechercher tous les fichiers, y compris les sous-répertoires qui ne contiennent pas main

$ grep -rv main *

Exemple 5) Recherchez par color tous les fichiers json et xml, y compris les sous-répertoires.

$ grep -r --exclude="*.json" --exclude="*.xml" color *

PowerShell

Format de commande

> Select-String -Path <nom de fichier> -Pattern '<La chaîne de caractères que vous souhaitez rechercher>' [option]

# <nom de fichier>sur
Rechercher uniquement dans le fichier spécifié.
fondamentalement"*(Astérisque): C'est OK si vous spécifiez "Rechercher tous les fichiers".
Je souhaite affiner la cible de recherche (par exemple, hoge).Spécifiez un nom de fichier spécifique uniquement lorsque (fichier txt uniquement).

# <La chaîne de caractères que vous souhaitez rechercher>sur
Spécifiez ce que vous souhaitez rechercher ici.
Assurez-vous de "guillemet simple (guillemet simple)[Shift] + [7]) ».

# [option]
    -Encoding:Code de caractère (Shift_JIS et UTF-8 etc.)
    -NotMatch: <La chaîne de caractères que vous souhaitez rechercher>Montrer ce qui ne correspond pas
    -Exclude <Chaîne>:Dans le nom du fichier<Chaîne>Exclure ceux contenant
    -Include <Chaîne>:Dans le nom du fichier<Chaîne>Seuls ceux qui incluent
> Get-ChildItem -Path <Chemin du dossier que vous souhaitez rechercher> -Filter <nom de fichier> -Recurse | Select-String -Pattern '<La chaîne de caractères que vous souhaitez rechercher>'

# -À propos de Recurse
Attachez-le lorsque vous souhaitez inclure des sous-dossiers dans la cible de recherche.

# <Chemin du dossier que vous souhaitez rechercher>
Spécifiez où commencer la recherche.
Rechercher dans le dossier actuel: .(Point)
Rechercher dans le dossier de départ: ~(Tilda) ou$HOME
Rechercher à partir du dossier racine: /(Sabrer)

# <nom de fichier>sur
Identique à "Rechercher uniquement dans le dossier actuel" ci-dessus.

# <La chaîne de caractères que vous souhaitez rechercher>sur
Identique à "Rechercher uniquement dans le dossier actuel" ci-dessus.

Exemple d'utilisation

Exemple 1) Rechercher tous les fichiers dans le répertoire courant avec hoge

> Select-String -Path * -Pattern 'hoge'

Exemple 2) Recherchez le fichier hoge.txt dans le répertoire courant avec hoge

> Select-String -Path hoge.txt -Pattern 'hoge'

Exemple 3) Recherche de fichiers contenant «main», y compris tous les fichiers, y compris les sous-répertoires.

> Get-ChildItem -Path ./* -Filter * -Recurse | Select-String -Pattern 'main'

Exemple 4) Rechercher tous les fichiers, y compris les sous-répertoires qui ne contiennent pas main

> Get-ChildItem -Path ./* -Filter * -Recurse | Select-String -Pattern 'main' -NotMatch

Exemple 5) Recherche par couleur pour tous les fichiers autres que tous les fichiers json, y compris les sous-répertoires (plusieurs fichiers sont inconnus)

> Get-ChildItem -Path ./* -Filter * -Recurse | Select-String -Pattern 'color' -Exclude *.json

Recommended Posts

Rechercher des chaînes de caractères dans les fichiers [Comparaison entre Bash et PowerShell]
Rechercher des chaînes dans les fichiers
Création d'un nouveau fichier [Comparaison entre Bash et PowerShell]
Recherche récursive de fichiers et de répertoires en Python et sortie
Création d'un alias (lorsqu'il y a plusieurs arguments) [Comparaison de Bash et PowerShell]
Évaluer, concaténer et exécuter des chaînes de caractères dans des variables en utilisant eval dans bash
Comparaison des performances entre le calcul matriciel bidimensionnel et pour avec numpy
3-3, chaîne Python et code de caractère
Fonction pour ouvrir un fichier en Python3 (différence entre open et codecs.open et comparaison de vitesse)
Différence entre list () et [] en Python
Manipuler des fichiers et des dossiers en Python
Comparaison de vitesse entre CPython et PyPy
Exporter et exporter des fichiers en Python
Vectoriser les phrases et rechercher des phrases similaires
Extraire des chaînes de fichiers avec Python
[Python] Résumé de la conversion entre les chaînes de caractères et les valeurs numériques (code ascii)