我已经阅读了 tcsh 的手册,但仍然无法弄清楚它在我的情况下应该如何工作或者是否应该工作。我基本上需要提取值为六位数字的变量的一部分。所以我需要删除前两个字符并检索最后四个字符。
下面的示例不起作用(它可能在 bash 中起作用,但必须使用 tcsh):
set VAR1 = value1
set VAR2 = `echo ${VAR1:2}`
echo VAR2
它出现错误 Bad :$ (2) 中的修饰符
,显然是因为它是 bash 语法并且 tcsh 无法理解,但无法弄清楚如何使用 tcsh 参数来做到这一点。
最佳答案
我不确定是否使用修饰符,但您可以使用 cut
或 sed
对字符串进行切片:
set VAR1=abcdef
“剪切”字符 3 到末尾
echo $VAR1 | cut -c3-
捕获除前 2 个字符 (..
) 之外的所有内容 (\(.*\)
)
echo $VAR1 | sed 's/..\(.*\)$/\1/'
关于redhat - tcsh 中的变量替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25667373/