我想使用grep
命令获取行号,但是当搜索模式不是单个单词时我收到错误消息:
couldn't read file "Pattern": no such file or directory
grep应该如何正确使用?代码在这里:
set status [catch {eval exec grep -n '$textToGrep' $fileName} lineNumber]
if { $status != 0 } {
#error
} else {
puts "lineNumber = $lineNumber"
}
此外,如果搜索模式根本不匹配,则返回值为:"child process exited abnormally"
这是一个简单的测试用例:
set textToGrep "<BBB name=\"BBBRM\""
文件内容:
<?xml version="1.0"?>
<!DOCTYPE AAA>
<AAA>
<BBB name="BBBRM" />
</AAA>