Supposons qu'il existe une commande telle que:
cat /boot/config-3.19.0-32-generic | grep CONFIG_ARCH_DEFCONFIG
La sortie est en tant que telle:
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
Maintenant, ma question est: Y a-t-il des commandes qui n'imprimeront que ce qui est à l'intérieur des virgules inversées, c'est-à-dire " "
?
Et pourriez-vous expliquer un peu la commande? Je vous remercie! en avance.
cat
, bien qu'inutile dans ce cas, rendrait l'édition de la ligne de commandes plus facile à l'avenir au cas où vous voudriez changer / ajouter / supprimer quelque chose plus tard, peut-être un tr
ou cut
, etc., pas besoin de trouver et déplacer le nom de fichier , assurez-vous que l'autre commande le prend en charge, trouvez où le mettre, etc. Et pour un petit fichier de test, il n'ajoute que 0,002 s. (J'ai probablement passé plus de temps à taper cela que je n'encat
cat
aide ici? Vous pouvez le faire grep foo file | tr
ou ... | cut
tout aussi facilement que cat file | tr | grep ...
. Le cat
ajoute simplement cinq caractères supplémentaires, un canal supplémentaire et un appel de programme supplémentaire et ne simplifie rien.
cat
dans une pipe est presque toujours un gaspillage de ressources (AKA UUOC );grep
peut déjà lire son entrée à partir d'un fichier (c'est-àgrep CONFIG_ARCH_DEFCONFIG /boot/config-3.19.0-32-generic
- dire fait exactement la même chose, mais 1. Il est plus court 2. Il est plus facile à comprendre 3. Il ne crée pas de shell supplémentaire ni de processus supplémentaire). Dans 99% des cas, utiliser cat au début de la pipe sans concaténer plusieurs fichiers est juste dangereux. :)