Question

Je veux que mon script bash fasse ce qui suit:

Il trouve un fichier, par exemple: hello.txt

Il recherche un texte spécifique dans le fichier, par exemple: hé

S'il est trouvé, passez à l'étape suivante,

s'il n'est pas trouvé, écrivez le texte sur une nouvelle ligne & amp; continuer à la prochaine chose.

Quelqu'un peut-il me donner le script pour cela?

EDIT: De plus, j'aimerais faire cela plusieurs fois de suite, afin de gagner du temps, ce serait bien!

Était-ce utile?

La solution

Tout d'abord, en réponse à vos commentaires:

  

Mais je suis un débutant à Bash, j'ai suivi un didacticiel, qui m'a aidé, mais il n'explique pas comment faire ce genre de choses.

Ensuite, vous avez probablement fait le mauvais tutoriel. Le Le Guide du débutant Bash de TLDP devrait pouvoir vous aider. .

  

J'ai travaillé longtemps avec batch (windows). Là j'avais besoin de sed pour ça. Allez-vous également avoir besoin d'un outil spécial pour bash?

Oui, mais ils sont tous standard sur la plupart des systèmes Unix (y compris Mac OS X, je suppose).

  

Quelqu'un peut-il donner une réponse?

Depuis que je suis de bonne humeur aujourd'hui ...

grep est utilisé pour rechercher du texte dans des fichiers.

echo et redirection ( > > > < | ) fonctionnent de la même manière dans bash que dans cmd.exe de Windows, vous savez donc probablement déjà comment les utiliser.

#!/bin/bash
...
# The 'if ! grep ...' part is probably the hardest.
if ! grep "hey" "$filename" &> /dev/null; then
    # "hey" was not found - use 'echo' to add it
fi
...

Vous devez vous débrouiller pour le reste.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top