反斜杠不是最后一个字符

时间:2014-09-24 17:08:46

标签: tcsh

我无法在Linux实验室中运行简单的正则表达式命令。因为我不了解问题的根源,所以我只能提供命令行示例。以下两个示例有效:

% fgrep -h TestVar */config_file.txt
% sed -n /TestVar/p */config_file.txt

但是以下两个例子不起作用:

% awk '/TestVar/ { print }' */config_file.txt
% perl -ne 'if (/TestVar/) { print }' */config_file.txt

两个错误都表示在错误的地方反斜杠。具体来说,非常简单的AWK命令输出以下内容:

awk: ^ backslash not last character on line

如果我进一步简化AWK命令,它将按如下方式工作:

% awk /TestVar/ */config_file.txt

如果我暂时将登录shell从TCSH(默认)切换到BASH,则所有命令都有效。最后,如果我在单个文件上运行AWK或PERL命令,则REGEX命令也可以在原始TCSH shell中运行。

简单的示例脚本是我在日常操作中永远不会使用的。我通常使用更复杂的REGEX命令解析或编辑多个文件。问题是我无法使用实验室默认的TCSH shell在AWK或PERL中使用我的日常REGEX命令的任何变化。我的REGEX命令适用于所有其他实验室,它们也使用TCSH。因此,必须有一些特定于此实验室环境的问题导致问题。

非常感谢任何帮助!

0 个答案:

没有答案