grep启动后台进程

问题描述:

我有一个输入文件,其中包含几个路径,其中一个引用初始解决方案。相应的线路如下:grep启动后台进程

initial_solution_file = ../../INIT/foo 

我想要做的是有这样我就输入“初始化”和外壳将返回,将显示此路径的别名“最初的解决方案是:../ ../INIT/foo”

我曾尝试是:

grep initial_solution_file input_file | awk '{print $3}' | echo "the initial solution is:" `xargs echo` 

它提供了所需的输出,但我additionaly得到的东西,如: [6] 48201 48202

这是什么以及如何防止它发生?

在此先感谢

+0

尝试在'grep'前添加'command'。像'command grep initial_solution_file input_file ...' – NullDev

echo "the initial solution is: $(awk '/initial_solution_file/{print $3}' input_file)" 
the initial solution is: ../../INIT/foo 

没有必要管,可以使用$(....)结构做命令替换。另外,grepawk可以单独由awk完成。

+0

感谢它确实在bash =) 工作但它返回“非法变量名称。”在tcsh中。任何方式在tcsh中做到这一点? – EdouardIFP

+0

我正确地将它复制到我从tcsh执行的bash脚本中。 这可能是最干净的方法,但它的工作原理。 – EdouardIFP