如何在 csh 中为命令的输出设置变量?

Krs*_*ztr 5 command-line text-processing csh

我在文本文件中有一个数字,例如:

int_width: 5230
Run Code Online (Sandbox Code Playgroud)

我想将此数字 (5230) 设置为csh. 什么是正确的形式?(grep 在设置前工作)

set WIDTH = "$(grep int_width  *.txt | sed 's/[^0-9]*//g')"
Run Code Online (Sandbox Code Playgroud)

Yar*_*ron 8

  1. 为了setcsh你需要使用变量set更多信息
  2. 正如@muru 评论所提到的 - 原始的 Bourne shell,csh或者tcsh全部不支持$()并且需要` `命令替换。

结合以上两个,你会得到:

% set WIDTH=`grep int_width *.txt | sed "s,[^0-9]*,," `
% echo $WIDTH
5230
Run Code Online (Sandbox Code Playgroud)