Qu'est-ce que j'essaye de faire?
Écrivez une commande qui recherche les fichiers qui ne sont requis par aucun autre fichier de mon projet.
Qu'est-ce que j'ai essayé?
J'utilise find
pour obtenir une liste des noms de fichiers. Maintenant, je veux utiliser les noms de fichiers comme chaîne de recherche (plutôt que le fichier à rechercher).
J'utilise find server/lib -type f -exec basename {} \; | cut -f 1 -d '.'
pour obtenir ma liste de noms de fichiers et supprimer l'extension de fichier.
Maintenant, je sais que c'est dans ce grep -R --exclude-dir=node_modules <search-string> . -l
que je veux diriger chaque nom de fichier, mais je ne sais pas comment les passer comme <search-string>
argument.
Autre info
Je suis aussi vaguement conscient que la tuyauterie vers cela grep
pourrait passer tout le résultat de find
(la liste complète des fichiers) que je ne veux évidemment pas faire si c'est ce que je suis sur le point de me dire.
De plus, (bien que cela ne soit probablement pas dans le cadre de cette question) car j'utilise cela comme un moyen de trouver l'un des noms de fichiers qui grep
ne trouve rien pour quoi que ce soit, tout conseil sur l'obtention de ce type de sortie serait grandement apprécié
> <the-command>
filename1
server/lib/foo.js # where these are the list of files in which it appears
test/lib/foo.js
filename2
Not Found! #where `filename2` wasn't found anywhere (obviously)
xargs -I {}
c'est ce que je cherchais.