GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je utiliser des commandes aliasées avec xargs ?

Transformez "gi" en script à la place

par exemple, dans /home/$USER/bin/gi :

#!/bin/sh
exec /bin/grep -i "[email protected]"

n'oubliez pas de marquer le fichier exécutable.


La suggestion ici est d'éviter les xargs et d'utiliser une boucle "while read" au lieu de xargs :

find -name \*bar\* | while read file; do gi foo "$file"; done

Voir la réponse acceptée dans le lien ci-dessus pour des améliorations pour gérer les espaces ou les retours à la ligne dans les noms de fichiers.


Les alias sont spécifiques au shell - dans ce cas, très probablement spécifiques à bash. Pour exécuter un alias, vous devez exécuter bash, mais les alias ne sont chargés que pour les shells interactifs (plus précisément, .bashrc ne sera lu que pour un shell interactif).

bash -i exécute un shell interactif (et source .bashrc).bash -c cmd exécute cmd .

Mettez-les ensemble :bash -ic cmd exécute cmd dans un shell interactif, où cmd peut être une fonction/un alias bash défini dans votre .bashrc .

find -name \*bar\* | xargs bash -ic gi foo

devriez faire ce que vous voulez.

Edit :je vois que vous avez marqué la question comme "tcsh", donc la solution spécifique à bash n'est pas applicable. Avec tcsh, vous n'avez pas besoin du -i , car il semble lire .tcshrc à moins que vous ne donniez -f .

Essayez ceci :

find -name \*bar\* | xargs tcsh -c gi foo

Cela a fonctionné pour mes tests de base.


Linux
  1. Comment j'utilise Vagrant avec libvirt

  2. Comment utiliser les commandes d'historique de Bash

  3. Comment utiliser les commandes 'cat' et 'tac' avec des exemples sous Linux

  4. Comment utiliser les pages de manuel pour apprendre à utiliser les commandes ?

  5. Comment puis-je utiliser SSH avec un proxy SOCKS 5 ?

Qu'est-ce que Git Bash ? Travailler avec les commandes Git Bash

Comment écrire un script bash avec des exemples

Comment utiliser la commande de lecture Bash

Comment utiliser la commande Linux xargs

Comment utiliser les commandes Netcat avec des exemples

Android - Comment puis-je utiliser les commandes shell et interagir avec le système Linux en dessous ?