web-dev-qa-db-fra.com

Comment définir une variable sur la sortie d'une commande en csh?

J'ai un numéro dans un fichier texte comme:

int_width: 5230

Je souhaite définir ce nombre (5230) sur une variable dans csh. Quelle est la forme correcte? (grep travaille avant de définir)

set WIDTH = "$(grep int_width  *.txt | sed 's/[^0-9]*//g')"
4
Krsztr
  1. Pour modifier la variable set dans csh, vous devez utiliser set ( plus d'informations ).
  2. Comme mentionné par @muru comment - Le Bourne Shell d'origine, csh ou tcsh, ne prend pas en charge $() et requiert ` ` pour la substitution de commande.

Combinez les deux ci-dessus et vous obtiendrez:

% set WIDTH=`grep int_width *.txt | sed "s,[^0-9]*,," `
% echo $WIDTH
5230
7
Yaron