2017-04-13 2 views
0

초기 솔루션을 포함하여 여러 경로가 들어있는 입력 파일이 있습니다. 내가 "초기화"를 입력합니다 쉘에서 반환 할 수 있도록이 경로를 표시 할 별칭을 가지고있다 할 싶습니다 무엇grep이 백그라운드 프로세스를 시작합니다.

initial_solution_file = ../../INIT/foo 

는 "초기 솔루션은 다음과 같습니다 : 해당 라인은이 다음이다 ../

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

그것은 원하는 출력을 제공하지만, 나는 additionaly 같은 얻을 :

내가 시도 무엇 ../INIT/foo은 " [6] 48,201 48,202

이것은 무엇이며 어떻게 발생하지 않도록 할 수 있습니까? 파이프 필요가 없습니다 사전

+0

'grep' 앞에'command'를 추가하십시오. 'grep initial_solution_file input_file ... '과 비슷합니다. – NullDev

답변

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

에서

감사합니다, 당신은 $(....) 구조를 사용하여 명령 대체를 할 수 있습니다. 또한 grepawkawk만으로 처리 할 수 ​​있습니다.

+0

감사합니다. 실제로 bash =에서 작동합니다.) 그러나 "잘못된 변수 이름"을 반환합니다. tcsh에서. 어떤 방법으로 tcsh에서 그것을 할 수 있습니까 ?? – EdouardIFP

+0

나는 그것을 tcsh에서 실행하는 bash 스크립트에 복사했다. 아마도이 방법을 사용하는 것이 가장 불편한 방법 일 수 있지만 작동합니다. – EdouardIFP